day03运算符、表达式、自增自减、三目运算符、程序结构、用户输入
复习
1.java的输出语句
1)System.out.println();
2)System.out.print();
2.注释
1)单行注释
//
2)多行注释
/*
....
*/
3.变量
1)什么是变量
2)变量的声明
int x;
3)变量的初始化
x=35;
int x=35;
4)变量的使用
System.out.println(x);
int y=x+4;
x=x-10;
5)注意事项
5.1)不能重复声明
5.2)类型必须匹配
5.3)声明并赋值后才能使用
5.4)一行声明多个变量
4.变量的命名
1)命名规则
2)命名规范
5.基本数据类型
4个整数2个小数2个非数
1)byte
2)short
3)int
4)long
5)float
6)double
7)char
8)boolean
6.注意事项
1)溢出
2)直接量
3)时间偏移量
4)舍入误差
7.类型转换
1)自动类型转换
byte short int long float double
char
2)强制类型转换
double money=12.8;
int count=(int)(money/5);
笔记
1.运算符和表达式
1)表达式
表达式可以理解为数学中的算式
表达式就是数据和运算符号的组合
2)算数运算符
+ - * / %
2.1)除数不能是0
2.2)java中也遵守先乘除后加减的原则
相同优先级的符号从左向右运算
2.3)想改变优先级使用()即可
()可以嵌套使用
2.4)%称之为取余 求模
也计算除法,但是结果是余数
1.判断一个数字是否能被
另一个数字整除
2.能够取出一个数字的某一位
数和数算得数
3)关系运算符
> < >= <= == !=
关系运算符的运算结果是对或错
既boolean类型的
true :对,是,真
false:错,否,假
数和数算得真假
4)逻辑运算符
&&(与) ||(或) !(非)
&&:两边同时为真时,结果才为真
||:两边只要有一边为真,结果就为真
变量1 变量2 && ||
true true true true
true false false true
false true false true
false false false false
小明数学成绩大于等于90
并且语文成绩大于等于80
才能获得ipad
小明数学成绩高于93分 参加数学竞赛
小明语文成绩高于86分 参加语文竞赛
判断输出小明能参赛是真还是假
!(非)的作用:
将true变false,将false变true
真假和真假算得真假
5)字符串连接符
+
将字符串(""引起来的内容)
和变量连接
6)赋值运算符
=
将右侧的值赋给左侧的变量
复合赋值运算符
+= -= *= /= %=
注意:实际上复合赋值运算符
内部都包含一个隐藏的
强制类型转换
7)自增自减运算符
++ --
++就是变量当前值自增1
--就是变量当前值自减1
int x=1;
x++;//x变为了2
x--;//x又变回了1
++号和--号在变量左右两侧有不同含义
++号在右侧:当前变量自加,但是
取值是自加之前的值
++号在左侧:当前变量自加,
取值是自加之后的值
8)三目运算符(条件运算符)
boolean?true:false
使用格式
<条件>?<条件为真时的取值> : <条件为假时的取值>
当根据一个条件来决定一个变量的值时可以使用
2.java中的程序结构
1)顺序结构
编写的每一行代码一定会执行一次
2)分支结构
编写的代码可能会执行一次
3)循环结构
编写的代码可能会执行多次
3.分支结构
1)什么是分支结构
根据某一个条件的真假
决定是否运行指定的代码
2)分支结构的分类
单分支结构
双分支结构
多分支结构
4.单分支结构
1)使用if语句实现单分支结构
语法
if(<条件>){
//条件为真时运行的代码
}
//无论条件真假都运行的代码
注意:实际上if语句后面的{}
不是必须写的,但是
如果不写,if只作用在
之后的一行代码
2)使用if语句的情形
根据一个条件的真假
决定是否运行一段代码时使用
如果小明的考试成绩大于等于90分
就输出:"小明获得了ipad"
无论小明多少分都输出"继续努力"
5.双分支结构
1)双分支结构:
当某个条件为真时,运行指定代码
当这个条件为假时,运行另外代码
语法
if(<条件>){
//条件为真时运行
}else{
//条件为假时运行
}
//无论条件真假都会运行
6.用户输入
1)在程序运行过程中
可以通过程序使用者向控制台
输入一些指定类型的值并
为程序中的一些变量赋值的操作
2)使用步骤
2.1)在public class前一行
import java.util.Scanner;
2.2)在程序入口(main方法)的第一行
Scanner scan=new Scanner(System.in);
2.3)在提示用户输入的语句之后
int:
int xxx=scan.nextInt();
double:
double xxx=scan.nextDouble();
作业
1)定义一个天数60
计算并输出60天内包含几周剩余几天
int day=60; //计算周数 int week=day/7;//8 //剩余几天 int left=day%7;//4 System.out.print(day); System.out.print("天内包含"); System.out.print(week); System.out.print("周剩余"); System.out.print(left); System.out.println("天");
2)小明考试成绩大于等于90分
获得ipad奖励
定义小明的成绩
输出小明能获得ipad是true还是false
Scanner sc=new Scanner(System.in); System.out.println("请输入小明的成绩"); int score=sc.nextInt(); System.out.println(score); boolean b=score>=90; System.out.println("小明获得ipad"); System.out.println(b);
3)小红去超市购物,消费了156.7元
判定小红是否能够支付
定义小红持有的金钱
输出小红能够支付消费金额是true 还是false
double money=2.5; boolean b=money>=156.7; System.out.print("小红能够支付消费款金额:"); System.out.print(b);
4)将上面第3题
小红持有的金额,变化为用户输入
再执行一次
Scanner scan=new Scanner(System.in); System.out.println("请输入小红的金额"); double money=scan.nextDouble(); boolean b=money>=156.7; System.out.print("小红能支付:"); System.out.println(b);
逻辑运算符
1)小红想做模特
要求身高高于1.70米
体重低于50公斤
用户输入小红的身高和体重
输出小红能做模特是真是假
Scanner scan=new Scanner(System.in); System.out.println("请输入身高"); double height=scan.nextDouble(); System.out.println("请输入体重"); int weight=scan.nextInt(); boolean b=height>1.7 && weight<50; System.out.print("小红能做模特:"); System.out.println(b);
2)小红到商场买衣服
消费了620元
用户输入小红支付宝和微信的余额
输出小红能够支付是真是假
(不考虑使用两种支付方式的情况)
Scanner scan=new Scanner(System.in); System.out.println("请输入微信的余额"); int weChat=scan.nextInt(); System.out.println("请输入支付宝的余额"); int aliPay=scan.nextInt(); boolean b=weChat>=620 || aliPay>=620; System.out.print("小红能够支付金额是:"); System.out.println(b);
单分支结构
1)用户输入小红在商场消费的金额
如果小红消费的金额满200元
输出:"恭喜您获得代金券一张"
无论消费多少金额,都输出
"谢谢惠顾"
Scanner scan=new Scanner(System.in); System.out.println("请输入小红的消费金额"); double money=scan.nextDouble(); //如果小红的消费金额满200元 if(money>=200) { //输出代金券 System.out.println("恭喜您获得代金券!"); }else{ System.out.println("谢谢惠顾"); }
2)用户输入小红在商场的消费金额
如果小红的消费金额满500元
全单打85折
最后无论消费多少金额,都输出
实际消费金额
Scanner scan=new Scanner(System.in); System.out.println("请输入小红的消费金额"); double money=scan.nextDouble(); //如果小红消费金额满500 if(money>=500) { //全单85折 money*=0.85; } System.out.println("实际消费金额为:"+money); }