复习java第二天

数据类型

单精度浮点型:float4个字节、双精度浮点型:double8个字节

字符型:char、一个字符等于两个字节

布尔类型:boolean、ture&&false

基本数据类型之间的规则

自动类型转换:自动提升为容量大的类型

byte、char、short  --> shot --> int --> long -->float -->double

byte、char、short变量做运算的时候结果为int类型

byte a = 2;
int b = 129;
int c = a + b;

强制类型转换:手动转换为容量小的类型(可能会造成精度的损失)

double a = 20.12;
int b = (int)a;
sout("20");

编码情况:整型常量默认为int类型 ,浮点型常量默认为double类型

byte a = 2;
byte b = (byte) (a + 1);

 String类型:属于引用数据类型、可以和8种数据类型做运算、只能用作连接运算、运算类型结果是String类型


运算符

算数运算符:

运算符号

运算

例子

结果

+

正号

+1

1

-

负号

b=1;-b

-1

+

2+2

4

-

1-1

0

*

2*2

4

/

2/2

1

%

取模(取余)

5%2

1

++

++

自增:先运算后取值

先取值后运算

a=1;b=++a

a=1;b=a++

a=2;b=2

a=1;b=2

--

--

自减:先运算后取值

先取值后运损

a=1;b=--a

a=1;b=a--

a=0;b=0

a=1;b=0

+

字符串连接

"hello"+" "+"world"

hello world

int num1 = 2;
int num2 = 2;
int result = num1+num2;
int result2 = num1/num2;
输出result=4 result2=1

扩展赋值运算符号:不会改变本身的数据类型

运算符号例子结果
+=

int a = 1;

a += 1; 

a=2;
-=

int a = 1;

a -= 1;

a=0;
*=

int a = 4;

a *= 4;

a=16;
/=

int a = 12;

a /= 4;

a=3;
%=

int a = 12;

a %= 5;

a=2;

比较运算符:

运算符运算范例结果
==相等于1==2false
!=不等于1!=2true
<小于1<2true
>大于1>2false
<=小于等于1<=2false
>=大于等于1>=2false
instanceof检查是否是类的对象"hello" instanceof Stringfalse
int a = 1;
int b = 2;
System.out.println(a == b);//false

比较运算结果都是布尔类型

特殊情况:比较两个对象的时候;引用类型比较的是他们的地址值

Account account = new Account(2);
Account account2 = new Account(2);
System.out.println(account==account2);
sout(false);

逻辑运算符:

&-逻辑与、&&-短路与、|-逻辑或、||-短路或、!-逻辑非、∧逻辑异或

ab!aa∧b
truetruefalsefalse
falsefalsetruetrue

位运算符:操作的是整型的数据

运算符运算例子
<<左移3 << 2 = 12 --> 3*2*2=12
>>右移3 >> 1 = --> 3/2=1
>>>无符号右移3 >>> 1 = 1 --> 3/2=1 
&与运算6 & 3 = 2
|或运算6 | 3 = 7
异或运算6 ∧ 3 = 5
~取反运算~6 = -7

位运算符号:在一定范围内向左(右)移动一位乘以2(除以2)

int a = 12;
System.out.println("a << 2 =" + a << 2);
System.out.println("a << 2 =" + a >> 2);
sout(48)    //12*2*2
sout(3)    //12/2/2

交换两个数的位置:

        int num = 10;
        int num2 = 20;

        int temp = num;
        num = num2;
        num2 = temp;
        System.out.println(num+";"+num2);
sout(num=20;
num2=10
)

高效实现2 * 8;使用位运算符;位运算符直接对数据进行操作,相对于各种数据先转换为二进制数据在进行计算要高效

int a = 2 << 2;
int a = 8 << 1;
sout(16);

三元运算符

int m = 1;
int n = 2;
int max = (m>n)?m:n;
sout(2);
String maxStr = (m>n)?"m大":"n大";
sout(n大);

 运算符的优先级 -->略


程序流程控制

顺序结构 -->略

分支结构:

if()else{}

int a = 10;
int b = 20;
if(a>b){
    System.sout.println(10);    
}else{
    System.sout.println(20);    
}
sout(20);

if(){}else{}if(){}else{}

int a = 1;
int b = 2;
int c = 3;
if(a>b){
    System.out.println("1");
}else if(b>c){
    System.out.println("2");
}else{
    System.out.println("3");
}    
sout(3);

循环结构:


键盘获取不同变量类型

java8官方文档地址https://docs.oracle.com/javase/8/docs/api/index.html

 CTRL + F 弹出搜索框,输入Scanner找到键盘获取数据的使用文档,根据选择设置。

使用Scanner类,使用到的包java.uitl.Scanner、实例化Scanner、选择输入int类型的数据使用

.nextInt();

使用Scanner类,使用到的包java.uitl.Scanner、实例化Scanner、选择输入String类型的数据使用

.next();

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值