java nextday_java学习 Day03 笔记

一.Java中的运算符

1.赋值运算符

1.基本赋值运算符

=

java中唯一个自右向左运算的符号

2.扩展赋值运算符(算数运算符+基础赋值运算符)

+= -= *= /= %=

eg: a+=3; ==> a=a+3;

缺点:

不直观

优点:

自动做强制类型转换

提高执行效率

推荐使用扩展赋值运算符

2.比较运算符|关系运算符

结果是boolean类型的值

> < >= <=

byte short int long float double char

== !=

可以做基本数据类型的比较,可以做引用数据类型的比较

3.逻辑运算符

两边的操作数都得是值为布尔类型的表达式

& 与 两个操作数都是true才是true,一个为false结果就为false

| 或 一个为true就是true,两个都为false才为false

! 非 --->去反 !true-->false

^ 异或 相同为false,不同为true

短路 如果左边的操作的值就能决定最终整个表达式的结果,右面的表达式就不在执行

&& 两个操作数都是true才是true,一个为false结果就为false

|| 一个为true就是true,两个都为false才为false

推荐使用短路与 短路或

4.条件运算符 | 三目| 三元

条件表达式 ? 值1 : 值2 ;

执行流程:

1.先执行条件表达式 -->值为boolean类型的表达式

2.如果结果为true, 最终结果取值1

3.如果结果为false,最终结果取值2

5.位运算符

(了解) ==> 位运算 做*2/2比直接做运算效率高

操作数先转为2进制,进行运算,得到结果再转为十进制

& 二进制的两个数,同一位置的值,进行逻辑判断,两个值如果有一个为0就位0,两个值都是1才是1

| 同一位置的两个数,如果有一个为1就是1,两个都是0才是0

^ 同一位置的两个数,如果相同为0,不同为1

6.位移运算符

>> 右移 左边的操作数转为二进制以后,向右移动第二个操作数个位数,保留分水岭左边的内容转为十进制 分水岭:左边操作数二进制形态的最右边有一个分水岭

8>>3 ==> 8/2^3 第一个操作数 / 2^第二个操作数次方

<< 左移 左边的操作数转为二进制以后向左移动第二个操作数个位数,剩余空间补0,再转为十进制

8<<3 ==> 8*2^3 第一个操作数 * 2^第二个操作数次方

扩展题: 可以扩展位移运算符

二.Scanner 键盘输入

1.基本数据类型

int a=4;

使用引用数据类型的方式

1.创建引用数据类型的变量|引用

引用数据类型 变量名|引用 = new 引用数据类型(); --公式

2.使用功能

引用.功能名字();

2.测试Scanner类:

1.导包 import 相对地址;

提供类Scanner的位置

位置:类的上面导包

2.创建Scanner类型的引用

3.功能名字();

nextInt(); 接收用户输入的int类型整数

nextByte(); 接收用户输入的byte类型整数

nextShort(); 接收用户输入的Short类型整数

nextLong(); 接收用户输入的Long类型整数

nextDouble(); 接收用户输入的Double类型整数

nextFloat(); 接收用户输入的Float类型整数

next(); 接收用户输入的String类型数据

有效字符开始接收,知道遇到空格,多个宫格,tab结束接受,欲enter停止功能

nextLine() 接收用户输入的一整行的内容

从第一个位置开始接收,知道输入enter结束

nextLine()功能之前如果存在系列的next功能.需要处理遗留在缓冲区的enter

4.引用.close();

一定要在用完之后关闭,否则当前类中重新开启也不能用

三.Random 类 产生随机数

1.导包

java.util.Random

2.创建类型的引用

Random

3.使用功能

产生随机整数

nextInt() --> int范围内的随机整数

nextInt(n) --> 随机产生 [0,n) 随机整数

n只能决定最大范围

产生随机小数

nextDouble() [0.0,1.0)随机小数

伪随机数

4.常用公式:

[0,max) 引用.nextInt(max);

[0,max] 引用.nextInt(max+1);

[min,max) 引用.nextInt(max-min)+min;

[min,max] 引用.nextInt(max-min+1)+min;

四.java中的流程控制语句

顺序结构 : 默认 从上到下 从左到右

选择结构 : 根据某些条件执行不同的代码

循环结构 : 重复执行一些代码

1.选择结构:

if ..else

switch

2.if...else

单分支|单选择

if(条件表达式){

语句体...

}

条件表达式:值为boolean类型的表达式

执行流程:

1.计算条件表达式的结果

2.如果false,就跳过if结构,继续向下执行

3.如果为true,执行{}中的语句体

双分支|双选择

if(条件表达式){

语句体1...

}else{

语句体2

}

如果条件满足执行语句体1,条件不满足执行语句体2

多选择|多分支

if(条件表达式1){

语句体1...

}else if(条件表达式2){

语句体2...

}else if(条件表达式3){

语句体3

}else{

语句体n;

}

执行流程:

1.先执行条件表达式1,如果为true,执行语句体1

2.如果为false,计算条件表达式2,如果为true,执行语句体2

3.如果为false,计算条件表达式3,如果为true,执行语句体3

4....

5.如果以上条件都不满足,执行else中的语句体n

注意:语句体前后的{}可以省略,语句体只有一句的时候可以省略

3.switch 定值判断

switch(表达式){

case 值1:

语句体1;

break;

case 值2:

语句体2;

break;

....

default:

语句体n;

break;

}

表达式:byte,short,int,char , 枚举(1.5),字符串(1.7)这几种类型的值

case: case后面接的值是与表达式进行判断,必须是一个值,不能是区间

break: 防止case穿透 结束switch语句

case穿透:从满足条件的语句体开始执行,如果遇到break结束switch,如果没有break下面的case不再判断直接执行语句体

default:默认的,相当于else,如果以上都不满足,就执行default中的内容

default位置可以改变

4.if与switch之间的区别

if可以做区间判断

switch 定值判断

能用switch都可以用if 能用if的不一定能用switch

五.java中循环

循环:重复执行一些代码

for

while

do...while

1.for循环

for(条件初始化;条件判断;条件变化 ){

循环体语句;

}

执行流程:

1.先执行条件初始化 声明一个变量并且赋值 i

2.条件判断 对i进行判断 值为boolean类型的表达式

如果值为false,for循环结构结束,如果值为true,执行循环体语句

3.条件变化

重复执行2,3步

注意:在循环体语句中可以使用i的值

变量i可以决定循环执行的次数

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值