JAVA基础学习day01--标识符、关键字、数据类型与运算符

一、标识符和关键字

关键字:

就是被java语言赋予了特殊含义的单词。

特点就是所有的关键字都是小写。

标识符:

就是给包、类、接口、方法、变量名起的名字。

规则:1.以数字、字母、_以及$符号组成。

           2.不能以数字开头,不能以空格分开,不能是JAVA中的关键字,区别大小写如Test 和test是2个不同的标识符。

           3 .起名字一定要见明知意例如:yourName,见名知义,不要用a,b,c之类的。

           4.不合法的标识符 12,your name ,class。

           5.以数字开头,your name中间有空格 class中java中的关键字。

二、变量和常量

常量:是一个固定的数值,不可改变的如1,2都是整形常量

    1. 整数常量:所有整数。

    2. 小数常量:所有小数。

    3. 布尔(boolean)型常量:只有两个数值,true、false。

    4. 字符常量:将一个数字字母或者符号用单引号( ' ' )标识,如:'a'。

    5. 字符串常量:将一个或者多个字符用双引号("")标识,如:"hello world"、"a"、""(空字符串)。

    6. null常量:只有一个数值就是:null。

进制的由来

    对于整数,有四种表现形式:

    二进制:0-1,满2进1。

    八进制:0-7,满8进1,用0开头表示,如:012。

    十进制:0-9,满10进1。

    十六进制:0-9,A-F,满16进1,用0x开头表示。如:0x4A2C。

变量:

就将不确定的数据进行存储

也就是在内丰中开辟一个空间用来存放变量的。

利用声明的方式将内在中的某个内在空间保留下来以代程序使用

声明数据类型:变量名=变量值

三、数据类型

Java语言是强类型语言,对于每一种数据都定义了明确的具体数据类型,在内存中分配了不同大小的内存空间:
        byte     1个字节
        short    2个字节
        int        4个字节
        long     8个字节
        float     4个字节
        double 8个字节
        char     2个字节

1、整数默认类型:int类型,小数默认类型:double类型。
2、double类型的小数精度比float类型的小数更高。

范围

No.

数据类型

大小/位

可表示的数据范围

1

long(长整数)

64

-9223372036854775808 ~ 9223372036854775807

2

int(整数)

32

-2147483648 ~ 2147483647

3

short(短整数)

16

-32768~32767

4

byte(位)

8

-128 ~ 127

5

char(字符)

2

0 ~ 255

6

float(单精度)

32

-3.4E38(-3.4´1038) ~ 3.4E38(3.4´1038)

7

double(双精度)

64

-1.7E308(-1.7´10308)~ 1.7E308(1.7´10308)

默认值

No.

数据类型

默认值

1

byte

(byte)0

2

short

(short)0

3

int

0

4

long

0L

5

float

0.0f

6

double

0.0d

7

char

\u0000(空,'')

8

boolean

false

 四、类型转换

类型转换分为2种:

  自动类型转换

  强制类型转换

4.1、自动类型转换

自动类型转换由低类型向高类型自动转换

1.转换前的数据类型和转换后的数据类型兼容

2.转换后的数据类型的表示范围比转换前的范围在

3.低类型和高类型同时运算时自动转化为高类型运算

java 中byte char short int 运算时自动转换为int类型运算

byte a=1;   //声明byte 类型变量a=1          
int  b=a+1;   //声明int 变量b 同时赋值a+1,1是整型a向整型转化为整型运算,自动转化  
System.out.println(b);  
       
short s1=1;     //声明short类型变量s1同是赋值1  
short s2=s1++;   //声明short 类型变量s2同时赋值s1++,自增运算,内隐藏了自动类型转化  
s2+=1;          //s2+=1;自动类型转换  

任何类型和字符相连都向字符串转换

int a=5,b=5;  
System.out.println("a+b="+a+b);  //a+b=是字符串+5变为 a+b=5,再+连接5,结果变为a+b=55  
System.out.println("a+b="+(a+b)); //使用括号提高优先级  

字符类型在内存中占有2个字节,可以用来保存英文字母等字符,字符要用一对单引号('')括起

char ch1='a';
char ch2=97;
System.out.println("ch1= "+ch1);
System.out.println("ch2= "+ch2);

结果:ch1=a,ch2=a

字符类型也算是整数类型的一种

常用的转义字符:

No.

转义字符

描述

No.

转义字符

描述

1

\f

换页

2

\\

反斜线

3

\b

倒退一格

4

\'

单引号

5

\r

归位

6

\"

双引号

7

\t

制表符Tab

8

\n

换行

char ch1='\"';
char ch2='\\';
System.out.println("ch1= "+ch1);
System.out.println("ch2= "+ch2);
System.out.println("\"Hello World\"");

结果:

ch1= "
ch2= \
"Hello World"

4.2、强制类型转换

定义:强制类型转换需要把类型进行手动转换,否则无法正常使用

在变量前面加上(要转换的类型) 变量

float f=3.14f;  
int i=(int )f;  
System.out.println(i);   

结果:

3

五、运算符

5.1、赋值运算符

=:一个等号就是赋值运算符

int i=4;  
byte b=2;  
short s=3;  
char c='a';  
char ch='张';  
long l=33;  
float f=3.14f;  
double d=2.0;  

5.2、一元运算符

No.

一元运算符

描述

1

+

正号

2

负号

3

!

NOT,否

public class JisuanJava {
		public static void main(String[] args) {
			boolean flag=false;  
			int x=10;        //定义一个正数  
			int y=-30;        //定义一个负数  
			System.out.println("x= "+x); 
			System.out.println("y= "+y);  
			System.out.println("flag= "+flag+"!b= "+!flag);  
		}		
}

结果:

x= 10
y= -30
flag= false  !b= true

5.3、算术运算符

算术运行符和数学中的用法一样

No.

算术运算符

描述

1

+

加法

2

减法

3

*

乘法

4

/

除法

5

%

取模(取余数)

public class JisuanJava {
		public static void main(String[] args) { 
			int i = 10;
			int j = 3;
			System.out.println(i+"+"+j +"="+(i+j));   //加法
			System.out.println(i+"-"+j +"="+(i-j));   //减法
			System.out.println(i+"*"+j +"="+(i*j));   //乘法
			System.out.println(i+"/"+j +"="+(i/j));   //除法
			System.out.println(i+"%"+j +"="+(i%j));   //取模求余数
		}	
}

结果:

10+3=13
10-3=7
10*3=30
10/3=3
10%3=1

5.4、关系运算符

No.

关系运算符

描述

1

>

大于

2

<

小于

3

>=

大于等于

4

<=

小于等于

5

==

等于

6

!=

不等于

5.5、自增加与自减运算符
自增与自减运算符

No.

自增与自减运算符

描述

1

++

自增,变量值加1

2

--

自减,变量值减1

public class JisuanJava {
		public static void main(String[] args) {
			nt a=3,b=3;             //定义整型变量a,b
			int x=6,y=6;             //定义整型变量x,y
			System.out.println("a= "+a);         //输出变量a的值
			System.out.println("a++="+(a++)+"  a= "+a); //输入a++和a++之后a的值3,4
			System.out.println("b= "+b);
			System.out.println("++b="+(++b)+"  b="+b);   //值出++b,和++b之后b的值4,4
			System.out.println("x= "+x);
			System.out.println("x--="+(x--)+" x= "+x); //输出x--和x--之后x的值6,5
			System.out.println("y= "+y);
			System.out.println("--y="+(--y)+"   y="+y);  //输出--y和--y之后的值5,5
		}	
}

5.6、逻辑运算符

No.

逻辑运算符

描述

1

&

AND,与

2

&&

短路与

3

|

OR,或

4

||

短路或

AND及 OR结果表

No.

条件1

条件2

结果

&&(与)

||(或)

1

true

true

true

true

2

true

false

false

true

3

false

true

false

true

4

false

false

false

false

  • &&”与“&”
  • &&表示短路与
  • 对于“与”来说,要求所有的条件都判断,而如果使用“短路与”如果第一个条件为false,则后面的条件将不再判断。
  • “||”与“|”
  • ||表示短路或
  • 对于“或”来说,要求所有的条件都判断,而如果使用“短路或”如果第一个条件为true,则后面的条件将不再判断。

5.7、位运算符

No.

位运算符

描述

1

&

按位与

2

|

按位或

3

^

异或(相同为0,不同为1)

4

~

取反

5

<<

左移位

6

>>

右移位

7

>>>

无符号右移位

位运算的结果表

No.

二进制数1

二进制数1

与操作(&)

或操作(|)

异或操作(^)

1

0

0

0

0

0

2

0

1

0

1

1

3

1

0

0

1

1

4

1

1

1

1

0


5.8运算符优先级

优先级

运算符

结合性

1

()

括号运算符

由左至右

1

[]

方括号运算符

由左至右

2

!、+(正号)、-(负号)

一元运算符

由右至左

2

~

位逻辑运算符

由右至左

2

++、--

递增与递减运算符

由右至左

3

*、/、%

算术运算符

由左至右

4

+、-

算术运算符

由左至右

5

<<、>>

位左移、右移运算符

由左至右

6

>、>=、<、<=

关系运算符

由左至右

7

==、!=

关系运算符

由左至右

8

&(位运算符AND)

位逻辑运算符

由左至右

9

^(位运算符号XOR)

位逻辑运算符

由左至右

10

|(位运算符号OR)

位逻辑运算符

由左至右

11

&&

逻辑运算符

由左至右

12

||

逻辑运算符

由左至右

13

?:

三目运算符

由右至左

14

=

赋值运算符

由右至左

5.9简洁表述式

No.

运算符

范例用法

说明

描述

1

+=

a += b

a + b的值存放到a中

a = a + b

2

-=

a -= b

a - b的值存放到a中

a = a - b

3

*=

a *= b

a * b的值存放到a中

a = a * b

4

/=

a /= b

a / b的值存放到a中

a = a / b

5

%=

a %= b

a % b的值存放到a中

a = a % b

简洁表达式的范例

No.

运算符

范例

执行前

说明

执行后

a

b

a

b

1

+=

a += b

12

3

a + b的值存放到a中(同a = a + b)

15

3

2

-=

a -= b

12

3

a - b的值存放到a中(同a = a – b)

9

3

3

*=

a *= b

12

3

a * b的值存放到a中(同a = a * b)

36

3

4

/=

a /= b

12

3

a / b的值存放到a中(同a = a / b)

4

3

5

%=

a %= b

12

3

 a % b 的值存放到a中(同a = a % b)

0

3

6

b++

a *= b++

12

3

a * b的值存放到a后,b加1(同a = a * b;b++)

36

4

7

++b

a *= ++b

12

3

  b加1后,再将a*b的值存放到a(同b++;a=a*b)

48

4

8

b--

a *= b--

12

3

a * b的值存放到a后,b减1(同a=a*b;b--)

36

2

9

--b

a *= --b

12

3

    b减1 后,再将a*b的值存放到a(同b--;a=a*b)

24

2

No.

数据类型

大小/位

可表示的数据范围

1

long(长整数)

64

-9223372036854775808 ~ 9223372036854775807

2

int(整数)

32

-2147483648 ~ 2147483647

3

short(短整数)

16

-32768~32767

4

byte(位)

8

-128 ~ 127

5

char(字符)

2

0 ~ 255

6

float(单精度)

32

-3.4E38(-3.4´1038) ~ 3.4E38(3.4´1038)

7

double(双精度)

64

-1.7E308(-1.7´10308)~ 1.7E308(1.7´10308)

默认值

No.

数据类型

默认值

1

byte

(byte)0

2

short

(short)0

3

int

0

4

long

0L

5

float

0.0f

6

double

0.0d

7

char

\u0000(空,'')

8

boolean

false

猜你喜欢

转载自blog.csdn.net/qq_42029527/article/details/83178168