发表时间:2022-03-26来源:网络
关键字(keyword)的定义和特点
定义:被Java语言赋予了特殊含义,用作专门用途的字符串(单词)
特点:关键字中的所有字母都为小写


注意:严格意义来讲,true和false和null不算是关键字,但是可以被当作关键字来使用。
可以这样理解,我们需要特定的玻璃杯来盛水,但是我们没玻璃杯的话,我们是不是也可以用塑料杯来盛水,塑料杯有玻璃杯的作用,但它终究不是玻璃杯的范畴。
保留字Java保留字:现有Java版本尚未使用,但以后的版本可能会作为关键字来使用。自己明明标识符时要避免使用这些个保留字。(现在还不是关键字--->将来可能是)
保留字:goto、const
(1)由26个英文字母的大小写,0-9,_或者$组成。
(2)数字不可以开头。
(3)不可以使用关键字和保留字,但可以包含关键字和保留字。
(4)Java中严格区分大小写,长度不限制。
(5)标识符不能包含空格。
标识符命名测试用例:
public class BSF_Test { public static void main(String[] args) { /*标识符:Java对各种变量、方法和类等要素命名时使用的字符序列称为标识符 * 标识符可以包含26个英文字母的大小写,可以包含数字0-9,也可以包含_和$ * 注意:标识符不能以数字开头 */ int miles = 3; int Test = 11; //符合标识符的语法规范 int $san = 5; //标识符可以以$符号开头,java中是允许的 int _zhangsan = 6; //标识符可以以_符号开头,java中也是允许的 int publicabc = 8; //但是变量名称中可以包含我们的一个关键字,就不会出现错误了 //int 6mile = 4; //会报错,标识符不能以数字开头 //int public = 7; //会报错,单独的一个关键字或者保留字不能作为标识符,因为他们都在java中具有特殊含义的字符串 //int 4#R = 9; //会报错,java标识符允许范围定义中没有#符号 //int a++ = 10; //会报错,java标识符允许范围定于中没有++符号 //int b test = 11; //会报错,java标识符命名中不能包含空格 } }包名:多单词组成时所有的字母都小写:xxxyyyzzz
类名、接口名:多单词组成时,所有单词的首字母大写:XxxYyyZzz
变量名、方法名:多单词组成是,第一个单词首字母小写,第二个单词开始首字母大写:xxxYyyZzz
常量名:所有字母都大写。多单词时每个单词用下划线连接:XXX_YYY_ZZZ
注意:
(1)在起名字的时候,为了提成代码的可读性,标识符名称要尽量有意义,做到"见名知意"。
(2)java采用unicode字符集,因此标识符可以使用汉字声明,但是不建议使用。
(1)内存中的一个存储区域
(2)该区域的数据可以在同一类型范围内不断变化
(3)变量是程序中最基本的存储单元。包含变量类型、变量名和存储的值
作用:用于在内存中保存数据使用变量的注意点:(1)Java中每个变量都必须先声明,后使用
(2)使用变量名称来访问这块区域的数据
(3)变量的作用域:其定义所在的一对{}内
(4)变量只有在其作用域内才有效
(5)同一个作用域内,不能定义重名的变量
变量的测试用例:

整型:byte \ short \ int \ long
浮点型:float \ double
字符型:char
布尔型:boolean

整型的测试用例:
public class Varable1_Test { public static void main(String[] args) { //byte(1字节 = 8bit)(-2^8~2^8-1) short(2字节) int(4字节) long(8字节) //计算机中是以bit为0或者1来存储数据的 //(1)byte的取值范围为-128~127 byte b1 = -6; //byte b2 = 128; //编译不通过,超过byte的取值范围 System.out.println(b1); //System.out.println(b2);+ //(2)声明为long类型的数据,我们要在赋值的末尾加上'l'或者'L',来表征这个数据是long长整型的数据 long l = 56168541441l; System.out.println(l); //(3)在我们实际开发中,由于int类型的数值范围的缘由,经常都将我们的整型变量定义为int类型的 int a = 123321563; System.out.println(a); //(4)整型常量默认为int型 long l1 = 16165165; //编译通过,这里得我们赋值得数据没有加long长整型得表征符号'l'或者'L',为什么没有出现错误呢,因为在java中整型常量默认为int类型,int类型小容量得数值赋值给long长整型大容量得变量得时候,java内部会对其进行自动类型提升,一般我们定义long长整型得时候还是不要忘了在末尾加上表征符号'l'或者'L' longl2 =156161616165412; //编译失败,过大的整数,未加表征符号整型常量默认为int型,超过int整型得表征数据得最大范围 //我们可以通过在末尾显式得加上long长整型表符号'l'或者'L'来避免出现这样得问题 System.out.println(l); } }

浮点类型得测试用例:
public class Varable1_Test { public static void main(String[] args) { //浮点型: float(4字节)单精度 精确到小数点后7位 \ double(8字节)双精度 精确到小数点后14位 //(1)浮点型:表示能代表小数的数值 double d = 3.1415926; System.out.println(d); //(2)小数类型常量数值默认是double类型 float f = 3.556416; //编译失败,当没在小数末尾加上单精度浮点型表征符号'f'或者'F'时,小数默认常量数值类型为double类型,赋值表达式是从右向左执行得,由大容量得数据类型double向小容量得数据类型转换时,必须进行强制类型转换 //也可以在小数数值后面加上单精度浮点型表征符号'f'或者'F'来避免出现这样得错误 //(3)定义单精度类型的小数时,我们需要在小数的末尾加上'f'或者'F'来标识我们的单精度float型小数,并且float类型的小数表示的数值范围比long长整型都大 //float f1 = 3.11747; //编译会报错 float f1 = 3.11747f; System.out.println(f); //(4)在日常开发中,由于double类型的小数精度更高,并且可以省略我们单精度的'f'或者'F'标识,所以我们常用double类型的小数 } }

字符类型的测试用例:
public class Varable1_Test { public static void main(String[] args) { //字符型:char(1字符 = 两个字节) //(1)通常定义我们的char型变量,使用一对' ',内部 能且只能存放至多1个字符 char c = 'a'; //c = 'AB'; //编译报错,一对' '里面只能存放至多一个字符 System.out.println(c); /*(2)表示方式 * 1.声明一个字符 * 2.转义字符 * 3.直接使用Unicode值来表示字符型常量 */ char c2 = '\n'; //换行符,相当于一个System.out.println(); c2 = '\t'; //制表符,相当于我们键盘上一个tab键的效果 //System.out.println(c2); char c3 = '\u0043'; //直接使用unicode编码来表示我们的一个字符 char c4 = 97; System.out.println(c4); System.out.println(c3); System.out.print("Hello" + c2); System.out.println("World!"); } }
布尔类型的测试用例:
public class Varable1_Test { public static void main(String[] args) { //boolean型 //(1)Java中的判断类型,只能取两个值:true 和 false boolean b2 = true; System.out.println(b2); //(2)布尔类型当作成员变量使用时,未赋值的情况下默认为false //(3)常常在条件判断和循环结构中使用 } }类(class)(String)
接口(interface)
数组(array)
字符串类型:String解析

使用:
1.String属于引用数据类型,翻译为字符串
2.声明一对String类型得变量时,使用一对" "来声明,中间可以写入想加入得字符串
3.String类型变量可以为空值"",但是char类型得字符变量不能为空 ' '但是可以一个空格也是可以解析为一个字符得
4.String类型变量可以和8种基本数据类型都做运算得,且运算只能是连接(拼接)运算: +
5.运算结果仍然是String类型得
6.String字符串引用类型不能直接强制转换成基本数据类型,需要经过一定得步骤
String字符串的测试用例:
/*String类型变量的使用: * 1.String属于引用数据类型,翻译为字符串 * 2.声明一对String类型得变量时,使用一对" "来声明,中间可以写入想加入得字符串 * 3.String类型变量可以为空值"",但是char类型得字符变量不能为空 ' '但是可以一个空格也是可以解析为一个字符得 * 4.String类型变量可以和8种基本数据类型都做运算得,且运算只能是连接运算: + * 5.运算结果仍然是String类型得 * * */ public class String_Test { public static void main(String[] args) { String s = "Hello World!"; System.out.println(s); String s1 = "a"; //编译通过,字符串得定义比字符更大,里面存得是一个个得字符,可以存储多个字符,也可以存储单个字符,也可以为空 String s2 = ""; //编译通过,字符串型String变量可以为空 // char c = ''; 编译出错,报错内容解析时已到达文件末尾,char字符型变量定义时不能为空,必须添加一个字符,有且只能放一个 int number = 1688; String s3 = "杨超越"; boolean b = true; System.out.println(s3 + b); //输出为杨超越true System.out.println(s3 + number); //输出为杨超越1688 //可以看出String字符串类型的引用变量在和其他基本数据类型进行+运算时,都是先将基本数据类型1688首先转换成字符串类型"1688",然后再用+进行连接(拼接)原酸 //---------------------------------------> //练习1 char c = 'a'; int num = 10; String str = "Hello"; System.out.println(c + num + str); //107Hello //加法运算从左到右执行,首先进行c + num得运算,此时这两个变量先运算,还没有遇到字符串类型得变量,"+"号表示两变量进行加法运算,结果为c得ASCII值97和整型num10相加,结果为107,之后将此结果107和字符串类型str进行运算,运算两边一旦出现字符串类型,那么"+"号代表拼接运算,将107和str变量Hello拼接得到字符串类型得"107Hello" System.out.println(c + str + num); //aHello10 //c + str先进行运算,"+"号左右两边一旦有String字符串型变量,那么这个"+"号就代表着两变量要进行拼接运算,得到拼接结果为字符串类型"aHello"在和后面得num10进行拼接,得到结果为"aHello10" System.out.println(c + (num + str)); //a10Hello //在java中,()括号符号可以提高运算得优先级,那么就是得先num和str运算得出结果,因为"+"号两边有字符串类型,确定此时运算为拼接运算,得到结果为字符串类型"10Hello",前面得字符类型'a'在和前面运算得结果进行拼接,得到最终结果为"a10Hello" //练习2,输出"* *" System.out.println("* *"); //* * System.out.println('*' + '\t' + '*'); //93 System.out.println('*' + "\t" +'*'); //* * System.out.println('*' + '\t' + "*"); //51* System.out.println('*' + ('\t' + "*")); //* * //以上输出均要把握"+"号两边有无字符串类型,把握"+"号得作用是进行加法运算,还是拼接运算 } }前提:这里讨论的只是7种基本数据类型变量间的运算,不包含boolean类型的
说明:此时容量的大小指的是,表示数的范围的大和小,而不是在内存中所占字节数的大和小。比如,float容量要大于long的容量
1.自动类型转换: 容量小的类型自动转换为容量大的数据类型。数据类型按照容量从小到大排序为:

多种数据类型混合运算时,系统首先自动将所有数据转换成容量最大的那种数据类型,然后再进行运算。
byte,short,char之间不会相互转换,他们三者在计算时首先转换为int类型。(其中两种相同类型的数据类型在进行运算时,结果值也需要用int来接收)
boolean类型不能与其它数据类型运算。
当把任何基本数据类型和字符串(String)进行连接运算时(+),基本数据类型的值将自动转换成字符串(String)类型。
自动类型提升的测试用例:
public class Varable2_Test { public static void main(String[] args) { int i = 12121; //定义我们的一个精度为4个字节的int整型变量 byte b = 12; //定义我们的一个精度为1个字节的byte整型变量 char c = 'a'; //byte b1 = b + i; 编译会出错,大精度+小精度,显然我们不能把结果用一个小类型精度数据类型来接收 int b2 = b + i;//编译通过,用大精度的数据类型来接收数据,会进行自动数据类型的提升,结果提升为int类型,输出为12133 long l = b + i;//编译通过,用大精度的数据类型来接收数据,会进行自动数据类型的提升,结果提升为long类型,输出为12133 float f = b + i;//编译通过,用大精度的数据类型来接收数据,会进行自动数据类型的提升,结果自动提升为float单精度浮点型,输出为12133.0 int i1 = i + c;//编译通过,输出的值为整型i的值 + char字符型对应字符的对应的ASCII值进行相加运算,字符'a'的ASCII值为97,输出结果为12218 System.out.println(b2); System.out.println(l); System.out.println(f); System.out.println(i1); //------------------------特别的----------------------------> short s = 3; short s1 = 4; char c1 = 'a'; // short s1 = s + c1; 编译报错,byte,short,char三者之间不会相互转换,他们三者在计算时首先转换为int类型的数值在进行计算 // char c2 = s+ c1; 编译报错 int i2 = s + c1; //既然他们三种数据类型在运算之前都转换成int型了,那么我们计算出的结果也只能最低用int整型来存储,最高double上限 // short s2 = s + s1; 编译报错,他们三种数据类型,其中的具有相同数据类型的两者相加,也满足上述规则,结果值也需要用int整型变量来接收 int i3 = s + s1; //其中他们中任意一种两个相同类型的数据类型在进行运算时,结果值也需要用int来接收 byte b1 = 12; // byte b2 = b1 + 1; 编译出错,1为整型常量,默认为int类型得数值,int + byte
皓盘云建最新版下载v9.0 安卓版
53.38MB |商务办公
ris云客移动销售系统最新版下载v1.1.25 安卓手机版
42.71M |商务办公
粤语翻译帮app下载v1.1.1 安卓版
60.01MB |生活服务
人生笔记app官方版下载v1.19.4 安卓版
125.88MB |系统工具
萝卜笔记app下载v1.1.6 安卓版
46.29MB |生活服务
贯联商户端app下载v6.1.8 安卓版
12.54MB |商务办公
jotmo笔记app下载v2.30.0 安卓版
50.06MB |系统工具
鑫钜出行共享汽车app下载v1.5.2
44.7M |生活服务