Java Part1 Day4运算符 逻辑 三目运算 程序的三大结构 选择结构
java语法
一,内容回顾
-
什么情况会发生自动类型转换?举出具体案例
-
兼容的类型
-
级别低的转为级别高的(字节数 小数高于整数)
float pi1=3.14; double pi2=pi1;
-
-
强制转换的条件是什么?如何强制类型转换
-
兼容的类型
-
级别高的转换为级别低的
【说明】都是整数 字节数大的转为字节数小的 抓换后的数不是需要的 极少使用
小数转整数,砍掉小数部分,会丢失精度
语法: 目标类型 变量=(目标类型)变量/表达式
-
-
short num=1; num+=2;和num=num+2;的区别是什么?
-
float pi=3.14;那么pi+1==4.14的结果是多少? pi+1的计算结果是近似数,float,double存放的是近似数
-
Java中的转义字符有哪些?及其作用
-
(补充)有一个三位整数,如何获取到个个位上的数?
public static void main(String[] args) {
int num=739;
//技能点:算数运算符/ %
//各位:num%10
int first=num%10;
//十位数:num/10%10
int second=num/10%10;
//百位数:num/100;
int third=num/100;
System.out.println(first);
System.out.println(second);
System.out.println(third);
}
二,今Java内容
-
运算符 逻辑 三目运算
-
计算后级别的提升
-
程序的三大结构
-
选择结构
-
循环结构
1.算数 逻辑 三目运算
算数运算符+ - * / ++ –
赋值运算符 = += -= *= /= %=
关系运算符 > >= < <= == !=
逻辑运算
场合:有多个关系,如何搭配
&& 逻辑与
条件1&&条件2 结果
true true true
false true false
true false false
false false false
public static void main(String[] args) {
int javaSeScore=80;
int javaWebScore=90;
// true 通过 false 未通过
//&& 同时为真,结果才为真 否则就为假
boolean result=javaSeScore>=60 && javaWebScore>=60;
System.out.println(result);
}
【说明】短路与,如果条件一为假,那么条件二不会执行
【经验】当有多个条件进行与运算时,把为false几率较高的条件放在第一个位置上
||逻辑或
场合:当有多个条件时,满足其一即可
条件1 || 条件2 结果
true true true
false true true
true false true
false false false
代码
public class Demo3 {
public static void mian(String[] args) {
//判断结果true 加薪 false 不符合加薪条件
int isA=8;
int projectNum=10;
boolean result=(isA>=8) || (projectNum>=10);
System.out.println(result);
}
!逻辑非
true false
false true
public static void main(String[] args) {
// TODO Auto-generated method stub
int javaScore=80;
boolean result=javaScore>=60;
System.out.println(result);
System.out.println(!result);
}
练习
-
true 加薪 false 不加薪
条件:绩效为A的月数大于三 同时 参与的项目大于5个
条件:绩效为A 月数 8 同时 参与的项目数大于3个
public static void main(String[] args) {
// TODO Auto-generated method stub
//方法一
int monthA=4;
int projectNum=6;
boolean result=((monthA>3)&&(projectNum>5))||((monthA>8)&&(projectNum>3));
//判断是否为true 如果为true 输出加薪
if(result==true) {
System.out.println("加薪");
}
else
System.out.println("不加薪");
//方法2
boolean result1=(monthA>3)&&(projectNum>5);
boolean result2=(monthA>8)&&(projectNum>3);
boolean result3=result1||result2;
System.out.println(result1);
System.out.println(result2);
}
三目运算符
表达式(关系或逻辑运算)?表达式2:表达式3
语法解读:三目运算符是一个条件判断
首先执行:表达式1
其次:判断,如果表达式1的计算结果为true,那么整个三目运算符的计算结果就是表达式2的结果
如果表达式为1的计算结果为false,那么整个三目运算符的计算结果就是表达式3的结果
public class Demo6 {
public static void main(String[] args) {
int javaScore=30;
//使用三目运算符
String result=javaScore>=60?"考试及格":"挂了";
System.out.println(result);
}
练习2:计算分页的总页数
前提:知道有多少条数据 int totalCount=11;
确定每页显示多少条数据 int pageSize=2;
要求:计算总页数
public static void main(String[] args) {
/*前提:知道有多少条数据 int totalCount=11;
确定每页显示多少条数据 int pageSize=2;
要求:计算总页数*/
int totalCount=10;
int pageSize=2;
int result=totalCount%pageSize==0?totalCount/pageSize:totalCount/pageSize+1;
System.out.println(result);
}
+作为连接作用
在做加法运算,带能做字符串连接运算
【注意】只要字符串参与运算,+就做链接
public static void main(String[] args) {
int num1=2;
int num2=3;
System.out.println(num1+num2);
int sum=num1+num2;
System.out.println("两个数的和为"+sum);
System.out.println("两个数的和:"+num1+num2);
System.out.println("两个数的和:"+(num1+num2));
String name="谁";
String addr="住在";
String result=name+addr;
System.out.println(result);
}
2.控制台输入
使用Scanner ,是一个类,是引用类型
语法:Scanner 变量名 =new Scanner(System.in);
作用:帮助程序,接收用户在控制台输出的信息
输入一个字符
char c=input.next().charAt(0);
import java.util.Scanner;//先从资源中导入Scanner
public class Demo9 {
public static void main(String[] args) {
// TODO Auto-generated method stub
//2.声明Scanner变量 创建Scanner对象
Scanner input=new Scanner(System.in);
System.out.println("请输入绩效考核为优的月数:");
//3.使用Scanner接收
//不同类型,接收方式不同
int isA=input.nextInt();
System.out.println("输入项目个数");
int projectNum=input.nextInt();
System.out.println("请输入姓名");
String name=input.next();
System.out.println("你输入的"+isA);
boolean result=(isA>3&& projectNum>10)||(isA>8&&projectNum>3);
System.out.println("请输入内容");
//只输入字符串的第一个字符
char c=input.next().charAt(0);
System.out.println(c);
}
}
3.程序的三大结构
-
顺序结构:按照程序员的编码顺序,自上而下逐行执行
-
分支结构、条件选择结构:根据条件来决定代码是否执行,符合条件执行此段代码,不符合则不执行
-
循环结构:多次重复执行
4.选择分支结构
语法解析
当条件为true的时候才会执行括号里的代码,否则不执行
if(条件){
//条件为true时,执行的代码
}else{
//条件为false时,执行的代码
}
练习:输入百分制的分数,转换为五分制的分数
91-100 优秀
81-90 良好
71-80 中等
60-70 及格
<60 不及格
多重if选择结构
switch选择结构 和多重if选择结构可以互换
switch(变量 /表达式)
case 值1;
语句块
break;
case 值2;
语句块:
break;
default:
语句块;
break;
}
switch语法总结:
-
用于等值判断,case后面必须是一个固定值
-
break:不是必须的,但是去掉后,是否符合业务要求
如果去掉break,将直接执行下一个case语句块
-
default:可以省略 可以在switch中的任何位置
-
switch语句中的表里或表达式的类型必须是如下六个其中一个
byte short int String char Enum(枚举)
code a little debug alittle 写一点 调试运行一点
-
变量的作用域
5.变量的作用域
作用域:就是有效范围
代码块{}
局部变量:声明在方法内部或方法内部的语句块中的表里,有效范围从声明开始,到 所有、在语句块的结束}
三,总结
-
逻辑运算符
1. &&同时为真结果才为真 2. ||有一个为真结果就为真 3. !
- 三目运算符
是if else分支结构的简化
表达式1?表达式2:表达式3
-
控制台的输入
-
程序的三大结构
顺序结构
选择分支结构
- if选择结构
if else
嵌套if结构
多重if结构
- switch先择结构
switch case default
- 局部变量
遇到错别字 评论留言
上一篇: 4、Java运算符
下一篇: LeetCode Day9字符串+链表