JAVA学习(4)-全网最详细~

news2024/9/22 2:12:11

 

🌈write in front🌈
🧸大家好,我是Aileen🧸.希望你看完之后,能对你有所帮助,不足请指正!共同学习交流.
🆔本文由Aileen_0v0🧸 原创 CSDN首发🐒 如需转载还请通知⚠️
📝个人主页:Aileen_0v0🧸—CSDN博客
🎁欢迎各位→点赞👍 + 收藏⭐️ + 留言📝​
📣系列专栏:Aileen_0v0🧸的JAVA学习系列专栏🌸——CSDN博客
🗼我的格言:"没有罗马,那就自己创造罗马💫~"

回顾💫


上次学了 Java 中的数据类型long - Long 和 double - Double float - Float.如果有遗忘或者是感兴趣的小伙伴可以点击链接👉🔗http://t.csdnimg.cn/zIftT进行跳转阅读.

今天我们来学习 其它数据类型


目录

回顾💫

💠Unicode和ASCII的介绍和区别

💠JAVA中 字符常量 和 字符串常量的区别和用法

💠字符数据类型-char-Character

💠字节数据类型-byte-Byte

 💠短整型数据类型-short-Short

💠布尔类型数据类型 -boolean-Boolean

 💠JAVA中的 转义字符 及 作用

🔺Summary

💠Unicode和ASCII的介绍和区别

Unicode和ASCII都是字符编码标准,它们的区别在于编码范围和长度。

ASCII(American Standard Code for Information Interchange,美国信息交换标准代码)是一种七位编码,用于表示英文字母、数字和一些特殊字符,共计128个字符。ASCII取值范围为0~127。

Unicode是一种多字节字符集,它的范围更广泛,可以表示世界上所有的字符,包括各个语言的文字、符号以及图形符号等共计136,755个字符。Unicode可以使用UTF-8、UTF-16等不同的编码方式表示,其中UTF-8是一种可变长编码,可以根据不同的字符来使用不同的字节数表示,为了支持更多的字符,UTF-8的编码长度可以达到4字节。

因此,ASCII适用于英文字符和一些特殊字符的编码,而Unicode适用于全球范围内所有语言文字和符号的编码

也就是说Unicode 包含了 ASCII 和 其它语言编码 适用范围更广.


💠JAVA中 字符常量 和 字符串常量的区别和用法

JAVA中字符常量是一个单独的字符用单引号(')表示

字符串常量则是多个字符构成的字符串,用双引号(")表示

使用条件和规则如下:

1.字符常量必须用单引号(')括起来,只能包含一个字符

   字符串常量必须用双引号(")括起来,可以包含多个字符

2.字符常量在内存中只占用一个字节

   字符串常量占用多个字节,具体大小取决于字符串中字符的个数

3.字符常量可以直接赋值给字符变量,例如:char c = 'a';

   字符串常量必须用String类来定义,例如:String str = "Hello World";

4.字符常量可以与其他字符常量或者数值直接进行运算,例如:char c1 = 'a' + 1;

   字符串常量只能与其他字符串常量进行运算(字符串拼接),例如:String str1 = "Hello" + " World";

5.访问字符串中的某个字符可以使用charAt()方法,例如:char c = str.charAt(0);

   访问字符常量不需要使用特殊的方法。

总的来说,字符常量和字符串常量都是JAVA中表示字符的方式,但是它们在定义、使用、存储等方面有很大的区别。需要根据具体的需求来选择合适的类型。


💠字符数据类型-char-Character

package TestDemo;

public class TestDemo {
	
	//字符数据类型 char 2字节 取值范围: 0 - 65535
	public static void main(String[] args) {
		char ch = 'a';
		System.out.println(ch);
		
		char ch2 = '猪';
		System.out.println(ch2);
		
	}
}

控制台运行结果: 

注意:char是字符类型,所以没有负数. 


💠字节数据类型-byte-Byte

package TestDemo;

public class TestDemo {
	
	//字节Byte	1字节   取值范围: -128 - 127
	public static void main(String[] args) {
		byte b = 12;
		byte c = 21;
		System.out.println(b+" "+ c);
		System.out.println(Byte.MAX_VALUE);//最大值127 2^7-1
		System.out.println(Byte.MIN_VALUE);//最小值-128 2^8
		System.out.println(Byte.MAX_VALUE + 1);//默认以整型进行打印
	}
}

控制台运行结果:  

从运行结果我们能看到System.out.println(Byte.MAX_VALUE + 1)输出结果为 128,这是为什么呢?

还记得我们之前的int 类型,当时我们将它的最大值加1就变成了它的最小值

但字符类型好像并非如此!

在Java中,当一个byte类型的变量与其他类型进行运算时

会首先自动转换为int类型(取值范围是  -2^31  -   2^31 - 1),然后进行运算

所以,当执行Byte.MAX_VALUE + 1时,byte类型的最大值127会被提升为int类型,再与1相加,结果为128。最终输出结果为128。

package TestDemo;

public class TestDemo {
	
	//字节Byte	1字节   取值范围: -128 - 127
	public static void main(String[] args) {

		System.out.println(Byte.MAX_VALUE);//最大值127 2^7-1
		System.out.println(Byte.MIN_VALUE);//最小值-128 2^8
		System.out.println(Byte.MAX_VALUE + 1);//默认以整型进行打印
		
		
		//System.out.println(Integer.MAX_VALUE);
		byte d = 127; //  2147483647
		
		int i = 2147483648;
		
	}
}

控制台运行结果: 

 当我们给字节类型数据赋值 通过控制台输出结果输出可知

每一种数据类型 在给它赋值的时候 一定不能超过他的范围~


 💠短整型数据类型-short-Short

package TestDemo;

public class TestDemo {
	
	/**
	 * 短整型 : short 2字节  取值范围: -32768  -   32767
	 * @param args
	 */
	public static void main(String[] args) {
		short sh =12;
		System.out.println(Short.MAX_VALUE);
		System.out.println(Short.MIN_VALUE);
		
	}
	
}

控制台运行结果: 


💠布尔类型数据类型 -boolean-Boolean

package TestDemo;

public class TestDemo {
	public static void main(String[] args) {
		/**
		 * 布尔类型:
		 * 1.在JAVA中  布尔类型 没有明确的大小
		 * 2.在JAVA中  布尔类型 只有两个取值  true 和 false
		 * 3.在JAVA中  布尔类型 没有  所谓的  0是假   非0是真
		 *   真 只有 true       假  只有 false
		 * 4. Boolean
		 */
		boolean flg =true;
		System.out.println(flg);
	}
}

控制台运行结果:  


 💠JAVA中的 转义字符 及 作用

转义字符解释
\n换行
\t水平制表符
\'单引号
\"双引号
\\反斜杠

🔺Summary

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1060768.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

vertx的学习总结6

Beyond the event bus 一、章节覆盖: 如何在事件总线之上公开服务 verticles和事件总线服务的异步测试 动态代理: MyService 接口 package porxy.test;import io.vertx.codegen.annotations.ProxyGen;ProxyGen public interface MyService {void he…

Linux学习之悟空派上实现OLED的无线网IP及CPU温度显示【守护进程】

起因 最近各种网购平台似乎都在推送99元的悟空派全志H3的开发板,出于好奇就买了一块来试试水,由于这块板子基本上和orangepi-Zero的硬件结构一模一样,所以设备树、boot这些就用orangepi现成的部件了。 因为本人比较喜欢使用SSH操作&#xff…

全志ARM926 Melis2.0系统的开发指引①

全志ARM926 Melis2.0系统的开发指引① 1. 编写目的2. Melis2.0 系统概述3. Melis2.0 快速开发3.1. Melis2.0 SDK 目录结构3.2. Melis2.0 编译环境3.3. Melis2.0 固件打包3.4. Melis2.0 固件烧录3.5.串口打印信息3.6. Melis2.0 添加和调用一个模块3.6.1. 为什么划分模块&#xf…

Sentinel-微服务保护

一、初识Sentinel 1、雪崩问题及解决方案 雪崩问题 微服务调用链路中的某个服务故障,引起整个链路中的所有微服务都不可用,这就是雪崩。 解决雪崩问题的常见方式有四种: 1、超时处理:设定超时时间,请求超过一定时间…

【C语言】内存函数的详细教学和模拟实现

🚀write in front🚀 🔎大家好,我是gugugu。希望你看完之后,能对你有所帮助,不足请指正!共同学习交流🔎 🆔本文由 gugugu 原创 CSDN首发🐒 如需转载还请通知⚠…

全志ARM926 Melis2.0系统的开发指引②

全志ARM926 Melis2.0系统的开发指引② 编写目的4. 编译工具链使用4.1.工具链通用配置4.2.模块的工具链配置4.3.简单的 makefile 5. 固件烧录工具的安装5.1.PhoenixSuit 的安装步骤5.2.检验 USB 驱动安装5.3.使用烧录软件 PhoenixSuit -全志相关工具和资源-.1 全志固件镜像修改工…

Python:操作SQLite数据库简单示例

本文用最简单的示例演示python标准库提供的SQLite数据库进行新增、查询数据的过程。 代码文件app.py # -*- coding: UTF-8 -*- from flask import Flask import sqlite3app Flask(__name__)app.route(/) def hello_world():return Hello World!#创建数据库 app.route(/creat…

Go基础之变量和常量

Go基础之变量和常量 文章目录 Go基础之变量和常量一. 标识符、关键字、内置类型和函数1.1 标识符1.2 关键字1.3 保留字1.4 内置类型1.4.1 值类型:1.4.2 引用类型:(指针类型)1.5 内置函数1.6 内置接口error 二.Go变量命名规范2.1 采用驼峰体命名2.2 简单、…

Python无废话-办公自动化Excel图表制作

openpyxl 支持用Excel工作表中单元格的数据,创建条形图、折线图、散点图和饼图等。 图表制作步骤 在openpyxl模块中创建图表,步骤如下: ①选择一个单元格区域,创建Reference 对象,作为图形数据a)(Value)。 ②创建一个Chart对象…

阿里云ECS服务器上启动的portainer无法访问的问题

如下图,在阿里云ECS服务器上安装并启动了portainer,但是在自己电脑上访问不了远程的portainer。 最后发现是要在网络安全组里开放9000端口号,具体操作如下: 在云服务器管理控制台点击左侧菜单中的网络与安全-安全组,然…

阻塞队列--线程安全问题

之前的队列在很多场景下都不能很好地工作,例如 大部分场景要求分离向队列放入(生产者:主要调用offer方法)、从队列拿出(消费者:主要调用poll方法)两个角色、它们得由不同的线程来担当&#xff0…

uboot启动流程-uboot内存分配工作总结

一. uboot 启动流程 _main 函数中会调用 board_init_f 函数,本文继续简单分析一下 board_init_f 函数。 本文继续具体分析 board_init_f 函数。 本文继上一篇文章的学习,地址如下: uboot启动流程-uboot内存分配_凌肖战的博客-CSDN博客 二…

【C语言】浮点数在内存中的存储和读取——底层分析

🚀write in front🚀 🔎大家好,我是gugugu。希望你看完之后,能对你有所帮助,不足请指正!共同学习交流🔎 🆔本文由 gugugu 原创 CSDN首发🐒 如需转载还请通知⚠…

【12】c++设计模式——>单例模式练习(任务队列)

属性: (1)存储任务的容器,这个容器可以选择使用STL中的队列(queue) (2)互斥锁,多线程访问的时候用于保护任务队列中的数据 方法:主要是对任务队列中的任务进行操作 &…

MySql运维篇---008:日志:错误日志、二进制日志、查询日志、慢查询日志,主从复制:概述 虚拟机更改ip注意事项、原理、搭建步骤

1. 日志 1.1 错误日志 错误日志是 MySQL 中最重要的日志之一,它记录了当 mysqld 启动和停止时,以及服务器在运行过程中发生任何严重错误时的相关信息。当数据库出现任何故障导致无法正常使用时,建议首先查看此日志。 该日志是默认开启的&a…

[激光原理与应用-71]:光电传感器的工作原理详解:光电效应原理、类型、光信号的光谱、电信号的频谱

目录 前言: 一、光电传感器组成 二、光电元件:光电效应的分类 2.1 外光电效应:逸出效应 2.2 内光电效应:光电导效应 2.3 内光电效应:光生伏特效应(电流效应) 2.3.1 光电转换元件PD 三、…

云安全之等级保护详解

等级保护概念 网络安全等级保护,是对信息系统分等级实行安全保护,对信息系统中使用的安全产品实行按等级管理,对信息系统中发生的信息安全事件分等级进行响应、处置。 网络安全等级保护的核心内容是:国家制定统一的政策、标准&a…

【ldt_struct】0ctf2021-kernote

前言 题目给的文件系统是 ext4,所以我们只需要将其挂载即可使用: 1、创建一个空目录 2、使用 mount 将其挂载即可 3、使用 umount 卸载即可完成打包 开启了 smap、smep、kaslr 和 kpti 保护,并且给了如下内核编译选项: Her…

SpringBoot大文件上传实现分片、断点续传

大文件上传流程 客户端计算文件的哈希值,客户端将哈希值发送给服务端,服务端检查数据库或文件系统中是否已存在相同哈希值的文件,如果存在相同哈希值的文件,则返回秒传成功结果,如果不存在相同哈希值的文件&#xff0…

GO 中的指针?

本文也主要聊聊在 GO 中的指针和内存,希望对你有点帮助 如果你学习过 C 语言,你就非常清楚指针的高效和重要性 使用 GO 语言也是一样,项目代码中,不知道你是否会看到函数参数中会传递各种 map,slice ,自定…