01-Java语言基础(关键字)
Java语言基础组成:(关键字 标识符 注释 常量和变量 运算符 语句 函数 数组)
java严格遵循大小写规范,关键字都写小写
02-Java语言基础(标示符)
03-Java语言基础(注释)
对于单行和多行注释,被注释的文字不会被JVM解释执行
对于文档注释,是Java特有的注释,其中注释内容可以被JDK提供的工具javadoc所解释,生成一套网页文形式体现的该文档的说明文档/
注释是一个程序员必须要具有的良好编程习惯。
可用于注解说明或调试
04-Java语言基础(注释的应用)
开头先写需求、思路、步骤,用多行注释
代码里某系语句的作用不明确时用上单行注释
代码仅仅是思想的一种体现
05-Java语言基础(常量)
06-Java语言基础(进制的由来)
一种计数的方式,用特定的排列组合表示一个数据
Byte字节=8个二进制位
07-Java语言基础(进制转换)
十进制752=710(2)+510(1)+2*10(0)
通用这套规则
08-Java语言基础(负数的进制)
一个·整数在内存中用4个字节表示如
整数6
内存的表现形式:
0000-0000 0000-0000 0000-0000 0000-0110
对于-6,就是这个数整数的二进制取反再加1
1111-1010
09-Java语言基础(变量的介绍)
变量存在于·临时数据存储区,运算快
8种基本数据类型及取值范围
整型:
-
byte:-2^7
-
2^7-1,即-128 ~
127。1字节。Byte。末尾加B
short:-2^15
-
2^15-1,即-32768 ~
32767。2字节。Short。末尾加S
有符号int:-2^31 ~ 2^31-1,即-2147483648 ~ 2147483647。4字节。Integer。
无符号(unsigned )int:0~2^32-1。
-
long:-2^63
- 2^63-1,即-9223372036854774808
- 9223372036854774807。8字节。Long。末尾加L。(也可以不加L)
浮点型:
float:4字节。Float。末尾加F。(也可以不加F)
double:8字节。Double。
字符型:
char:2字节。Character。
布尔型:
boolean:Boolean。
类型转换:
boolean类型与其他基本类型不能进行类型的转换(既不能进行自动类型的提升,也不能强制类型转换), 否则,将编译出错。
byte型不能自动类型提升到char,char和short直接也不会发生自动类型提升(因为负数的问题),同时,byte当然可以直接提升到short型。
当对小于int的数据类型(byte, char, short)进行运算时,首先会把这些类型的变量值强制转为int类型进行计算,最后会得到int类型的值。因此,如果把2个short类型的值相加,最后得到的结果是int类型,如果需要得到short类型的结果,就必须显示地运算结果转为short类型。
10-Java语言基础(变量的基本演示)
byte b = 3;这个语句在内存当中开辟了一个空间,这个空间所限定的类型时byte,名称叫做b,所定义的数据是3。同一个名称不可以在同一个区域使用,即byte b = 3;之后就不能写byte b = 8;这类似的语句。若要改变b的值,可以b=8;每个变量都有它的作用范围(作用域),即它所在的大括号范围,超出这个范围后变量则无效。
123.java
class lll {
public
static void main(String[] args) {
long
l = 123456789012345;
System.out.println("l");
}
}
所定义的场整型数据需要在数据后面+l,表示改数据为长整型。
改为
long l = 123456789012345l;编译
输出语句中变量名不要用双引号括起来。
改为System.out.println(l);后编译
成功显示
类似的,float型定义数据是也要在数据后面加个f如:float f = 1.23f;
11-Java语言基础(类型提升&强制转换)
int x=3;x = x +5;这两个语句,首先会在内存中开辟一个空间,限定的类型为int型,名称为x,定义的数据为3,执行第二个语句之时,会把3取出来,开辟一个运算区,运算并将所得结果覆盖原来x所定义的数据。
运算的两端需要是同类型才可以进行。
图片里的语句运算两端类型不一样,但数据都是数值类型,在Java机制中可以进行一个类型提升,小内存的数据类型会在运算时提升到跟大的数据类型一致,并且所放回的结果时4字节的int型。
一般数值若没定义默认为int型,所以运算两边类型不同。
强制转化后
b = (byte)(b +4);
内存的二进位状态
将结果转化之前:0000-0000 0000-0000 0000-0000 0000-0111
转化之后:0000-0111
若结果不在该类型的取值范围,并且强制转化了,如
byte b = 3;
b
= (byte)(b +200);
System.out.println(b);
该原因时强制转化的原理时将int型的二进制数据只保留后面8位即一个字节。
12-Java语言基础(字符类型运算过程)
在计算机中只有二进制语言,
System.out.println(‘a’+1);
得到的结果为98
转换后System.out.println((char)(‘a’+1));
原因是将编码表的数据用作运算了。
底层都是应用了uncode国际标准码表
13-Java语言基础(类型运算细节)
byte
b=4;
b
= 3+7;
System.out.println(b);
byte
b=4;
byte
b1 = 3;
byte
b2 = 7;
byte
b = b1 + b2;
System.out.println(b);
byte 类型接受变量运算结果很可能导致精度丢失,编译不允许通过。但int 型没这问题。主要看接受数据类型范围是否合理。
int x1 =Integer.MAX_VALUE;
int
x2 = 1;
int
x = x1 + x2;
System.out.println(x);
由负数的进制原理引起的
14-Java语言基础(算术运算符_1)
运算符:
算术运算符
赋值运算符
比较运算符
逻辑运算符
位运算符
三元运算符
算术运算符
Java中整数的除法直接返回商,没有余数,%符号在运算中为取余
System.out.println(3+2);
得到的是32值
System.out.println(3+‘2’);
打印的是32字符串,任何数值跟字符相连接都是得到字符串。
System.out.println(“5+5=”+5+5);
结果
第一次连接得到5+5=5字符串
最终连接为5+5=55字符串
15-Java语言基础(算术运算符_2&赋值运算符)
++符号:在原有数据基础上加1再赋值给原来的变量。
b=a++;先赋值再自增,b=++a;先自增再赋值。
赋值运算符:= += -= *= /=
%=
如:a+=1;等同于a=a+1;先加再赋值。其他符号类似。