Java学习第四天——运算符与循环

  • 运算符深入学习

  • 控制台输入scanner语句

  • if else ,switch语句

1,运算符

算术运算符;

a;“+” 加:同时也是字符串的连接运算符。

除法(/):

b; 整数/整数=整数,是截断取整,而不是四舍五入取整。

c;整数不能除0。0.0除0.0结果为NaN 非数。

d;当除数或者被除数中有一个为浮点型的,那么结果就是自然除法的结果。

e;如果此时除数为0或者0.0,那么结果为正无穷或者负无穷。

 

取余;

a,两个整数相取时,第二个数不能是0。

b,一个或两个为浮点数,第二个数为0或者0.0时,结果为NaN。

c,第一个数为0或0.0时,结果为0.0。

 

自增自减;

+ +自增: 操作数的值增加1 B=20 B++ 或 ++B 等于 21

- -自减: 操作数的值减少1 B=20 B-- 或 --B 等于 19

 

逻辑运算符;

&& 称为逻辑与运算符。当且仅当两个操作数都为真,条件才为真,当第左边为false时,右边的表达式则不会进行运算。

&(不短路与):不短路与,作用与&&相同,但不会短路,不论左边为true或者false,右边的表达式都会进行运算。

^(异或):当运算符两边布尔值相同为false,当运算符两边布尔值不同为true。

||(短路或):左右操作数任意一个为true,结果都为true,如果左边操作数为true,右边表达式将不会进行运算。两边为false时,结果才为false。

|(不短路或):不论左边为true或者false,右边的表达式都会进行运算。

 

2,Scanner语句;

java中的输入流

a、导包;

Scanner类在java.util包下。

import java.util.Scanner;

注:导包的语句必须出现在类定义的上边

b、创建键盘输入对象;

Scanner sc = new Scanner(System.in);

注:上面这个格式里面,只有sc是变量名,可以变,其他的都不允许变。

c、定义变量接受控制台输入。

按照用户输入的类型分类:

整数:

int num = input.nextInt();

小数:

double num = input.nextDouble();

字符或者字符串

String line = input.nextLine();

或者

String line = input.next();

 

注:

1.使用键盘输入获取数据之前建议加入提示性语句

2.next系列的方法是阻塞方法,会等待用户的输入,用户输入结束,程序继续执行

3.常错误问题 Java.util.InputMismatchException

异常名称: 输入不匹配异常

产生原因: 输入的类型和接收的类型不匹配

解决办法: 类型匹配

3 ,if else switch.

if -else 语句:单项if、双向if、嵌套if

swith-case 语句:匹配特定值的概念

1, if…语句;

if (关系表达式) {

语句体;

}

执行流程:

a 首先计算关系表达式的值

b 如果关系表达式的值为true就执行语句体

c 如果关系表达式的值为false就不执行语句体

d 继续执行后面的语句内容

 

2、if…else…语句

 

if(关系表达式){

语句体1;

else{

语句体2;

}

}

 

执行流程:

a 首先计算关系表达式的值

b 如果关系表达式的值为true就执行语句体1

c 如果关系表达式的值为false就执行语句体2

d 继续执行后面的语句内容

 

3、if…else if…else…语句

 

if (关系表达式1) {

语句体1;

} else if (关系表达式2) {

语句体2;

}

else {

语句体n+1;

}

执行流程:

a 首先计算关系表达式1的值

b 如果值为true就执行语句体1;如果值为false就计算关系表达式2的值

c 如果值为true就执行语句体2;如果值为false就计算关系表达式3的值

d ..........

e 如果没有任何关系表达式为true,就执行语句体n+1。

 

 

Switch语句;

 

switch(表达式)

{

case 常量表达式1:语句1;

....

case 常量表达式2:语句2;

default:语句;

}

1.default就是如果没有符合的case就执行它,default并不是必须的.

2.case后的语句可以不用大括号.

3.switch语句的判断条件可以接受int,byte,char,short,不能接受其他类型.

4.一旦case匹配,就会顺序执行后面的程序代码,而不管后面的case是否匹配,直到遇见break,利用这一特性可以让好几个case执行统一语句.

 

例;

public class SwitchDemo {

public static void main(String[] args) {

//创建键盘录入对象

Scanner sc = new Scanner(System.in);

//接收数据

System.out.println("请输入一个数字(1-7):");

int weekday = sc.nextInt();

//switch语句实现选择

switch(weekday) {

case 1:

System.out.println("星期一");

break;

case 2:

System.out.println("星期二");

break;

case 3:

System.out.println("星期三");

break;

case 4:

System.out.println("星期四");

break;

case 5:

System.out.println("星期五");

break;

case 6:

System.out.println("星期六");

break;

case 7:

System.out.println("星期日");

break;

default:

System.out.println("你输入的数字有误");

break;

}

}

}

注;

1、swich(表达式)中表达式的返回值必须是以下几种类型之一:

  byte,short,char,int,枚举(jdk1.5),String(jdk1.7)

 

2、case子句中的值必须是常量,且所有case子句中的值应是不同的;

 

3、default子句是可任选的,当没有匹配的case时,执行default;

 

4、break语句用来在执行完一个case分支后使程序跳出swich语句块;如果没有break程序会顺序执行到swich结尾;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值