一、数据类型及变量名和注释
1. Java 中的数据类型分为两大类:
1) 原生数据类型 (Primitive Data Type) :8个(byte、char、short、int、long、float、double、Boolean)
l 整型:使用 int 表示。 (32 位)
l 字节型:使用 byte 表示。 (表示-128~127 之间的 256 个整数) 。
关于计算机系统中的数据表示 位:bit(只有 0,1 两种状态),是计算机系统中的最小数据表示单位。 字节:byte, 1 byte = 8 bit。 1 KB = 1024 Byte (1Kg = 1000g,与计算机系统不同) 1 MB = 1024 KB 1 GB = 1024 MB
l 短整型:使用 short 表示。 (16 位)
l 长整型:使用 long 表示。(64 位)
l 单精度浮点型:使用 float 表示。所谓浮点型,指的就是小数,也叫做实数,比如 1.2
l 双精度浮点型:使用 double 表示。双精度浮点型表示的数据范围要比单精度浮点型大
l 字符型:使用 char 表示(char 是 character 的缩写)。所谓字符,就是单个的字符表示, 比如字母 a,或者中文张,外面用单引号包围上。比如 char a = ‘B’; char b = ‘张’;
l 布尔类型,使用 boolean 表示。布尔类型只有两种可能值,分别是 true 与 false。
补充:
ps:参考32位机
2) 引用类型(对象类型) (Reference Type) :前面的原生都有对应的:例如:Float(float),interger(int)……
2. 变量与常量:
常量:就是值不会变化的量;变量:就是值可以变化的量。
2.1 命名
变量类型 变量名; int a;
2.2 赋值
变量名 = 变量值; a = 2;
ps:此处小彩蛋:= 表示赋值,将等号右边的值赋给了左边的变量。 Java 中使用==表示相等,等价于数学中的=。
3. 变量名:
在 Java 中,变量名以下划线、字母、$符号开头,并且后跟下划线、 字母、$符号以及数字。
4. Java中的类型转换(关键节了哈)
4.1. Java 中的所有浮点类型默认情况下都是 double。不能将 double 类型的值赋给 float 类型 的变量,即便该 double 类型的值处于 float 类型的范围内也是不可以的。总之,能否成 功赋值取决于等号右边的值类型与等号左边的变量类型是否一致。
4.2. 将 double 类型的值赋给 float 类型的变量:
4.2.1 强制类型转换,将 double 类 型的值强制转换为 float 类型。
4.2.2使用 java 预言的支持。 强制转换的语法: 类型 变量名 = (类型)变量值;
4.3. 变量在使用前必须要赋值;变量必须要声明其类型方可使用;变量在使用前必须要定义, 并且只能定义一次。
4.4. 如下代码无法通过编译:
int a = 1;
short b = a;
a 是 int 类型,b 是 short 类型,int 类型表示的数据范围要比 short 类型大,不能将表示 范围大的值赋给表示范围小的变量。
如下代码可以通过编译:
short a = 1;
int b = a;
a 是 short 类型,b 是 int 类型,int 类型表示的数据范围要比 short 类型大,可以将表示 范围小的值赋给表示范围大的变量。
总结:可以将表示范围小的值赋给表示范围大的变量;但不能直接将表示范围大的值赋 给表示范围小的变量,只能通过强制类型转换实现。
ps:小的空间可以赋值给大的空间(因为大嘛),而大的空间赋给小的空间就只能强制转换了(毕竟不够大233)
4.5 类型的自动提升:
4.5.1 若执行运算且其中的基本类型小于int,则会提升为int
例子:
char a,b;
a=1;b=2;
int c=a+b;//类型被自动提升为了int
4.5.2 执行运算中类型会被转化为高类型:
例子:
double a=1.0;
int b=2;
double c=a/b;//结果转化为double类型
还有一些小细节:
我贴一张我的练习代码君:供参考:
5. 注释。
Java 中共有 3 种类型的注释:
l 单行注释:以//开头,//后面的所有内容均被当作注释处理。
l 多行注释:以/*开头,以*/结束,中间的所有内容均被 当作注释处理。多行注释来源于 C/C++。关于多行注释,需要注意的是,多行注释不能嵌套。
l 另一种多行注释。用于产生 Java Doc 帮助文档。暂且不介绍。
二、 运算符 Operator
1. 关系运算符:
大于(>)、小于(<)、等于(==)、不等于(!=)、大于等于(>=)、小于等 于(<=),关系运算的结果是个 boolean 值。
2. 逻辑运算符:重点讲解两个,逻辑运算符本身也返回一个 boolean 值。
2.1 逻辑与:使用&&表示,逻辑与是个双目运算符(即有两个操作数的运算符),只有 当两个操作数都为真的时候,结果才为真;其余情况结果均为假。逻辑与表示的并 且的意思。
2.2 逻辑或:使用||表示,逻辑或也是个双目运算符,只有当两个操作数都为假的时候, 结果才为假;其余情况结果均为真。逻辑或表示或者的意思。
关于逻辑运算符的短路特性。
2.3 短路
2.3.1 逻辑与:如果第一个操作数为 false,那么结果肯定就是 false,所以在这种情况下, 将不会执行逻辑与后面的运算了,即发生了短路。
2.3.2 逻辑或:如果第一个操作数为 true,那么结果肯定就是 true,所在在这种情况下, 将不会执行逻辑或后面的运算了,即发生了短路。
3. 关于变量的自增与自减运算。
关于 int b = a++,作用是将 a 的值先赋给 b,然后再让 a 自增 1.
关于 int b = ++a,作用是将 a 的值先自增 1,然后将自增后的结果赋给 b。
三、运算符以及控制流
1. 条件运算符(三元表达式),其形式为:
type d = a ? b : c;
具体化形式为:int d = 2 < 1 ? 3 : 4;
ps:可看成两部分:?前分为一部分:F,后为另一部分L:
F表判断:
1.true:取L中的前部分,即例子中的 3
2.false:取L中的后部分,即例子中的 4
2. 流程控制语句 if 的用法为:
第一种形式:
if(布尔表达式){
//待执行的代码
}
第二种形式:
if(布尔表达式) {
//待执行的代码 } else {
//待执行的代码
}
第三种形式:
if(布尔表达式){
//待执行的代码
} else if(布尔表达式) {
//待执行的代码
} else if(布尔表达式) {
//待执行的代码
} else {
//待执行的代码
}
3. switch 语句,使用形式为:
switch(变量) // byte, short, int, char等(注:jdk7以后是支持String的){
case 常量 1: //待执行的代码
break;
case 常量 2: //待执行的代码
break; case
常量 3: //待执行的代码
break;
default: //待执行的代
码 }
虽然 case 语句中的 break 是可选的,但在绝大多数情况下,如果没有 break,程序的逻 辑就会发生错误,因此,通常情况下都需要加上break。
4. Java 中的循环控制语句一共有 3 种,分别是 while,do… while 以及 for 循环。
4.1 while 循环,形式为:
while(布尔表达式) {
//待执行的代码
}
4.2 do…while 循环,新式为:
do {
//待执行的代码 } while(布尔表达式);
}
ps:while 与 do…while 之间的区别:如果布尔表达式的第一次判断就为 false,那么 while 循 环一次也不执行;do…while 循环则会执行一次。如果布尔表达式第一次判断为 true, 那么 while 循环与 do…while 循环等价。
4.3. for 循环(使用最多的一种循环),形式为:
for(变量初始化; 条件判断; 步进) {
//待执行的代码 }
for 循环的执行过程:
1) 执行变量初始化。
2) 执行条件判断。如果条件判断结果为假,那么退出 for 循环,开始执行循环后面的 代码;如果条件判断为真,执行 for 循环里面的代码。
3) 执行步进。
4) 重复步骤 2。
break 语句:经常用在循环语句中,用于跳出整个循环,执行循环后面的代码。
continue 语句:经常用在循环语句中,用于跳出当前的这个循环(或者是跳出本次循环) , 开始下一次循环的执行。
break 与 continue 可以搭配标签使用,在实际开发中,根本没有人会将 break 与 continue 搭配标签来使用。
//此处以后会添加一个超链接:对continue和break的解析:先留着位置
5.移位符(再加一个移位符吧):
直接贴我的练习代码君了:
PS:转载请注明出处(有补充请留言)!
另:共同学习,共同进步,迈向社会主义新时代(^o^)/~