java第一节课的补充

上一章我们说了算术运算符、赋值运算符、比较运算符、逻辑运算符,这节课我们补充一下运算符、条件运算符两个运算符。

位运算符

5、位运算符(主要运算是通过二进制进行的)

<<:左移一位相当于乘2

(例如:int a = 2;a的二进制为:0000 0000 0000 0010(二进制相关内容不予以补充有需要的可以私信我)左移一位就会变成:0000 0000 0000 0100也就是十进制数里面的4,所以可得左移一位相当于乘2)

>>:右移一位相当于除2

(<<、>> 左移、右移都在有带符号位移 高位移动后(正数默认补0,负数补1))

>>>:无符号右移  不带符号的右移 高位右移后,默认补0

(例如:int  a  =  -8; 二进制数为:1111 1111 1111 1000右移一位以后就会变成:0111 1111 1111 1100也就是十进制中的2,147,483,644)注: 不存在无符号左移。

&:与

(例如:int a = 3;int b = 4;a的二进制数:0000 0000 0000 0011,b的二进制数为:0000 0000 0000 0100,a&b = 0000 0000 0000 0000,简单来说就是对每一位进行&运算1代表真0代表假去运算得到相应的二进制,然后转换为十进制即可(注:Java中不存在1代表真,0代表假这一说法,这里只是简单来说方便记忆))

|:或

(例如:int a = 3;int b = 4;a的二进制数:0000 0000 0000 0011,b的二进制数为:0000 0000 0000 0100,a&b = 0000 0000 0000 0111,解法同上)

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

(例如:int a = 3;int b = 4;a的二进制数:0000 0000 0000 0011,b的二进制数为:0000 0000 0000 0100,a&b = 0000 0000 0000 0111,解法同上)

~:非

(例如:int a = 4;a的二进制数:0000 0000 0000 0100,~a = 1111 1111 1111 1011十进制数为-5也是对每一个二进制数进行非运算)

在位运算符中还有值得注意的是:&、|、^、~中也存在逻辑运算符当处于boollean值当中是逻辑运算符,当处于数当中是位运算符。

6、条件运算符

(条件表达式)?结果1:结果2

(true)运行结果1,(false)运行结果2

控制语句

1、条件语句

if:

if(条件语句){

语句

}(如果条件语句为true,执行大括号里面的语句,如果条件为false,不执行)

if......else:

if(条件语句){

语句1

}else{

语句2

}(如果条件语句为true,执行大括号里面的语句1,如果条件为false,执行语句2)

if......else if:

if(条件语句1){

语句1

}else if(条件语句2){

语句2

}(如果条件语句1为true,执行大括号里面的语句1,如果条件语句2为true,执行大括号里面的语句2,否则都不执行)

if......else if......else if......else:

if(条件语句1){

语句1

}else if(条件语句2){

语句2

}else if(条件语句3){

语句3

}else{

语句4

}(如果条件语句1为true,执行大括号里面的语句1,如果条件语句2为true,执行大括号里面的语句2,如果条件语句3为true,执行大括号里面的语句4,否则执行语句4))

.......

switch:

switch(常数){

case1:

case2:

case3:

.......

default:

}(判断常数为多少,便从哪里进入如果遇到break则结束,否则继续进行,直到结束,如果常数没有对应相应的case值时则进入到default然后运行结束)

if语句的优势:
if语句的条件是一个布尔类型值,if条件表达式为true则进入分支,可以用于范围的判断,也可
以用于等值的判断,使用范围更广。
switch语句的条件是一个常量值(byte,short,int,char,枚举,String),只能判断某个变量或表
达式的结果是否等于某个常量值,使用场景较狭窄。
switch语句的优势:
当条件是判断某个变量或表达式是否等于某个固定的常量值时,使用if和switch都可以,习惯上
使用switch更多。因为`效率稍高`。当条件是区间范围的判断时,只能使用if语句。
switch和if的对比:
结论:凡是使用switch-case的结构都可以转换为if-else结构。反之,不成立。
开发经验:如果既可以使用switch-case,又可以使用if-else,建议使用switch-case。因为效
率稍高。
2、循环语句

while:

while(条件语句){

循环语句

迭代部分

}(先判断条件语句是否为true,当为true时进行循环语句和迭代部分,反之跳出)

do.......while:

do{

循环语句

迭代部分

}whlie(条件语句)(先进行循环和迭代部分,然后在进行判断同上)

for:

for(表达式1;表达式2;表达式3){

语句

}(先运行表达式1,然后运行表达式2,当表达式的值true时再运行语句,然后运行3,再次回到表达式2运行并进行判断直到表达式2的值为false时结束运算)

三种循环结构的对比:
循环变量的初始化条件
循环条件
循环体语句块
循环变量的修改的迭代表达式
从循环次数角度分析
do-while循环至少执行一次循环体语句。
for和while循环先判断循环条件语句是否成立,然后决定是否执行循环体。
如何选择
遍历有明显的循环次数(范围)的需求,选择for循环
遍历没有明显的循环次数(范围)的需求,选择while循环
如果循环体语句块至少执行一次,可以考虑使用do-while循环
本质上:三种循环之间完全可以互相转换,都能实现循环的功能
3、break和continue

break:为终止某个语句,只要遇到break就结束当前语句

continue:用于循环部分,只要遇到continue就跳过本次循环进入下一次循环当中。

java中的方法

Java语言中使用下述形式调用方法:
类名/对象名.方法名(实参列表)
实参的数目、数据类型和次序必须和所调用方法声明的形参列表匹配,
return 语句终止方法的运行并指定要返回的数据。
return语句
return语句用于从当前执行的方法中退出, 返回到调用该方法的语句处继续执行。
有两种格式:
return 值; //将值返回,方法必须声明有返回值
return; //不返回任何值,表示终止方法执行,可以在声明为void的方法中使用。

控制台输入

java提供Scanner类来实现从控制台向程序输入信息功能.
具体步骤
1. 导入使用的类:import java.util.Scanner;
2. 创建Scanner类型的对象:Scanner scan = new Scanner(System.in);
3. 调用Scanner类的相关方法,来获取指定类型的变量
next()方法用以 取得用户输入的字符串;
nextInt()将取得的输入字符串转换为整数类型;
nextFloat()转换成浮点型;
nextBoolean()转 换成布尔型。
(例:System.out.print("请输入姓名");
Scanner scan = new Scanner(System.in);
String name= scan.next ();
System.out.println("姓名:"+name);)
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值