java中怎么用万国_java课程第二天java中的变量用法

Day02 课程安排

--------------------------------------------------------------------------------------------------------

1、变量

2、变量的类型

Day02-1

1、变量的概念

变量对应内存中的一块区域

2、变量的作用

主要用于操作内存中的数据

3、变量的定义(类型、名字、作用域)

(1)变量必须有类型。(Java是一种强类型(脚本语言弱类型)的语言)

(2)变量必须有名字。(必须遵循标识符的定义)

(3)变量必须有作用域(作用范围)。

以上三者统称之为变量三要素(变量类型、变量名字、变量作用域不包括变量取值)

程序中变量的定义:(目前要写在方法内部)

定义变量太多会造成程序效率下降

说明:

(1) 作用域重合,名字相同的变量不能重复定义

(2) 变量的位置,定义在方法的内部。(此变量为局部变量)

(3) 多个变量的定义中间使用逗号隔开。

4、变量的赋值(初始化)

(1)定义时初始化

(2)先定义再初始化

说明:

局部变量使用前必须初始化(赋值)

5、变量的类型

认识变量的类型

(1)每个变量都应该有一个类型,根据类型不同来决定变量在内存中的储存结构

(2)在Java体系中变量可分两大类型

a) 基本数据类型(8种):数值型:(整型4个浮点型2个),字符型:布尔型

b) 引用数据类型

整型(byte,short,int,long)

所有整型数据计算时候都可能出现溢出现象

字面值(字面量)只有十进制八进制十六进制 二进制为底层数据不能直接出现

Byte b1=20(所有的数据底层以二进制形式存储)

Byte b2=0x70(16进制字面值(以0x打头))

Byte b3=010(8进制数据字面值(以0打头))

a) byte(-128~127)(1byte=8bit,1M=1024byte,1G=1024M,1t=1024G)

b) 短整型数据(2byte,16bit,-32768~32767)(不常用,兼容性差)

c) 整型()

1 00000000 00000000 00000000 00000000

-1(负数在计算机中以补码(源码取反加1表示))

源码 10000000 00000000 00000000 00000000

反码 11111111 11111111 11111111 11111110 (源码取反)

补码 11111111 11111111 11111111 11111111 (反码加1)

Integer.MAX_VALUE(MAX_VALUE为常量)

d) 长整型(8byte,64bit)

long num=12L(L是长整型的一个标识,可以小写,可以省略)

浮点型(float,double)

浮点类型精度运算可能会出现精度损失

Double D2=1.0

Double d3=0.9;

D2-d3=0.09999999999999;

a) 单精度float (4byte,32bit)(后缀f或F可以小写不可省略)

b) 双精度 double(8byte,64bit)(后缀D或d可以省略)

D2/0=Infinity(无穷大)

Math.sqrt(-9)=NAN(not a number)

字符型(2byte,16bit)

ASCII码(对应键盘上的任意一个字符,0-127个)

Unicode(万国码)

三种字面类型

char c1=’A’;

char c2=65;

(直接将65存入到c2的内存中而 int n=65 char c2=n错误 因为c2不能直接接受n因为n的在内存中占有4个字节而字符占有两个 所以需要强制转换 即:去掉一部分)

char c3=’\u0041’ (\u特殊编码); c3=’A’;

char c4=’中’;

char cc=(char)(c1+1);(表达式结果类型取决于表示范围最大的那个变量)

但是C1+=1例外

‘0’=48 A=65 ‘中’=20013

特殊字符:

\f 换页 \\ 反斜杠 \b 倒退一格 \’单引号 \r 归位 \” 双引号 \t 制表符Tab \n 换行

布尔型(ture和false)

6、变量的类型转换

(1) 隐式转换(自动类型转换)表示范围小的赋值给表示范围大的

(2) 显示转换(强制类型转换)表示范围大的赋值给表示范围小的 会使精度转换后精度降低,但是强制类型转换必须属于同种系列之间(char int float)

7、表达式类型的自动提升

任何一个表达式经过计算肯定有一个结果。结果的类型是什么类型,取决于表示范围最大的那个变量。

Byte t1=20;

Byte m=t1+30;错误 (t1+30)表达式结果是整形 但是+= *=……除外

Float f=12.3;

Long l=2000;long l1=f+l;错误 float比long范围大

但是如果是+=就可以 如char c=a;正确:c +=2; 错误:c=c+2

8、运算符的应用

(1) 算数运算符(+ - * / % ++ --)

15/2=7 15.0/2=7.5 3D/0=Infinity 3/0除数不能为0 15.0%2=1.0 15%2=1

M5=10 m6 10 11 12

M6=m5+++m5+++m5++相当于(m5++)+(m5++)+(m5++)=33

(2) 赋值运算符(= += -= *= /= %=)

特例byte t1=10;t1+=10 t1=20但是不等价与t1=t1+10;

(3) 关系运算符(> < >= <= != ==)

(4) 逻辑运算符(&& || !)逻辑与又叫短路与 逻辑或又叫短路或

a=10 b=20

flag=a>b&&a++>12

flag=false a=10

(5) 条件运算符(?:)(其格式为 变量=?表达式1:表达式2)

Int max=a>b?(a>c?a:c):(b>c?b:c)

位运算符(& | ~ ^)

Int a=8;b=4;

a&b=0 00000000 00000000 00000000 00001000

00000000 00000000 00000000 00000100

位与运算(只有两个都为1时结果才为1)

^相同为0

(6) 移位运算符(>> << >>>)

>>执行有符号右移(补符号位)

<

>>>执行无符号右移(不补符号)负数会变成整数 没有无符号左移

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值