目录
目录
一、今日名言
二、Java学习打卡
2.1Java规范的三种注释方式
2.2关键字与保留字
2.3标识符
2.4变量
2.5数据类型
三、类型转换
3.1自动类型提升
3.2强制类型转换
一、今日名言
假如我能使一颗心免于破碎
我便没有白活一场
假如我能消除一个人的痛苦
或者平息一个人的悲伤
或者帮助一直昏迷的知更鸟
重新回到它的巢中
我便没有虚度此生 ——————————————《假如我能使一颗心免于破碎》
——艾米莉-狄金森
二、Java学习打卡
2.1Java规范的三种注释方式
①单行注释 例://今天的Java学习打卡
②多行注释 例:/*看到这篇文章的都是帅哥美女!
看到这篇文章的学业和事业都有成! */
③文档注释 例:/**学习Java使我感到快乐!
希望CSND上的小伙伴天天开心!
希望CSND越来越好!*/
注意:
- 文档注释内容可以被JDK提供Javadoc所解析,生成一套以网页文件形式体现的该程序的说明文档。
- 多行注释不能被嵌套使用,单行注释和多行注释的内容不参与编译。
2.2关键字与保留字
关键字(keyword)的定义和特点
- 定义:被Java语言赋予特殊含义,用做专门用途的字符串(单词)。
- 特点:关键字中所有的字母都为小写。
用于定义数据类型的关键字
class | interface | enum | byte | short |
int | long | float | double | char |
boolean | void |
用于定义流程控制的关键字
if | else | switch | case | default |
while | do | for | break | continue |
return |
Java保留字:现有的Java版本尚未使用,但以后版本可能会作为关键字使用。自己命名标识符时要避免使用这些保留字。
goto、const
2.3标识符
●标识符:
Java对各种变量、方法和类等要素命名时使用的字符序列称为标识符
技巧:凡是自己可以起名字的地方都叫标识符,例如:类名、变量名、方法名、接口名、包名……
●定义合法标识符规则:
- 由26个英文字母大小写,0-9,或$组成
- 数字不可以开头。
- 不可以使用关键字和保留字,但能包含关键字和保留字。
- Java中严格区分大小写,长度无限制。
- 标识符不能包含空格。
●Java中的名称命名规范:
- 包名:多单词组成时所有字母都小写:xxyyyzzz
- 类名、接口名:多单词组成时,所有单词的首字母大写:XxxYyyZzz
- 变量名、方法名:多单词组成时,第一个单词首字母小写,第二个单词开始每个单词首字母大写:xxxYyyZzz。
- 常量名:所有字母都大写。多单词时每个单词用下划线连接:XXX_ YYY_ZZZ。
注意:
- 在起名字时,为了提高阅读性,要尽量有意义“见名知意”。
- Java采用unicode字符集,因此标识符也可以用汉字声明,但不建议使用。
2.4变量
●变量的概念:
- 内存中的一个存储区域
- 该区域的数据可以在同一类型范围内不断变化
- 变量是程序中最基本的存储单元。包含变量类型、变量名和存储的值
●变量的作用:
用于在内存中保存数据
●使用变量注意:
- Java中每个变量必须先声明,后使用
- 使用变量名来访问这块区域的数据
- 变量的作用域:其定义所在的一对{}内
- 变量只有在其作用域内才有效
- 同一个作用域内,不能定义重名的变量
变量的使用:
Java定义变量的格式:数据类型 变量名 = 变量值;
class VarTest{
public static void main(String[] args){
//变量的定义
int myNumber = 19;
//变量的使用
System.out.println(myNumber);
}
}
2.5数据类型
Java数据类型如下:
我们这里就先介绍整数类型和浮点类型:
●Java各整数类型有固定的表示范围和字段长度,不受具体的OS的影响,以保证Java程序的可移植性;
●Java的整型常量默认为int型,声明龙型常量后面必须加“l”或“L”;例如:int i = 12345689L;
●Java程序变量通常声明为int型,除非不足以表示较大的数,才使用long;
类型 | 占用存储空间 | 范围大小 |
byte | 一字节 = 8bit位 | -128~127 |
short | 2字节 | -2¹⁵~2¹⁵-1 |
int | 4字节 | -2³¹~2³¹-1 |
long | 8字节 | -2⁶³~2⁶³-1 |
bit计算机中的最小存储单位,byte计算机最基本的存储单元;
浮点类型
float:单精度,尾数可以精确到7位有效数字,很多情况下,精度难满足需求;
double:双精度,精度是float的两倍,通常采用此类型;
Java的浮点类型通常默认设置为double型,声明float型常量后面必须加“f”或“F”;
例如float f1 = 1245.14f;
字符型 char: 用法 char c = 'a';char c1 = '中';单引号内部只能写一个字符;
注意:char c = '\n';//表示转义字符;
ASCll和UTF-8
ASCII码(American Standard Code for Information Interchange,美国标准信息交换码)。 信息编码就是将表示信息的某种符号体系转换成便于计算机或人识别和处理的另一种符号体系;或在同一体系中,由一种信息表示形式转变为另一种信息表示形式的过程。
UTF-8(8位元,Universal Character Set/Unicode Transformation Format)是针对Unicode的一种可变长度字符编码。它可以用来表示Unicode标准中的任何字符,而且其编码中的第一个字节仍与ASCII相容,使得原来处理ASCII字符的软件无须或只进行少部分修改后,便可继续使用。因此,它逐渐成为电子邮件、网页及其他存储或传送文字的应用中,优先采用的编码。
关于ASCll 和UTF-8详情大家感兴趣的话可以百度;
布尔类型(boolean)
①只能取两个值之一:false、true;
②常常在条件判断、循环结构中使用;
③无法进行算数运算;
//…………
boolean isStudy = true;
if(isStudy){
System.out.println("恭喜你打卡成功!");
}else{
System.out.prinln("不学习就无法生存,快去学习!");
}
//…………
三、类型转换
3.1自动类型提升
class VarTest1{
public static void main(String[] args){
byte b1 = 4;
int i1 = 17;
//byte b2 = i+b1;//编译不通过
int i2 = b1+i1;//编译通过结果为21
System.out.println(i2);
}
}
所以我们可以知道,在运算的时候一般低数据类型会自动的向高数据类型转换:
byte、char、short-->int-->long-->float-->double
特别的:当char、byte、short三种类型做运算时结果为int类型;
3.2强制类型转换
强制类型转换(自动类型转换逆运算)
class VarTest2{
public static void main(String[] args){
double d1 = 10.7;
int i1 = (int)d1;//强制把double类型转换为int类型;
System.out.println(i1);//结果为10;如果d1 = 10.3也等与10强制类型会把小数点后面截断
//因此强制类型转换可能导致数据精度的损失;
}
}
强制类型转换格式:(数据类型)变量或(表达式);
注意:强制转换可能造成精度的损失和数据的溢出;
class VarTest2{
public static void main(String[] args){
int i1 = 128;
byte b1 = (int)i1;
System.out.println(b1);/*结果为-128, 数据溢出因为byte类型范围是-128~127
-128~127; 127+1之后自动跳到-128;造成数据溢出*/
}
}
今天的分享就到这里啦!