欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Java Part1 Day4运算符 逻辑 三目运算 程序的三大结构 选择结构

程序员文章站 2022-07-14 17:26:06
...

java语法

一,内容回顾

  1. 什么情况会发生自动类型转换?举出具体案例

    1. 兼容的类型

    2. 级别低的转为级别高的(字节数 小数高于整数)

      float pi1=3.14;
      double pi2=pi1;
      
  2. 强制转换的条件是什么?如何强制类型转换

    1. 兼容的类型

    2. 级别高的转换为级别低的

      【说明】都是整数 字节数大的转为字节数小的 抓换后的数不是需要的 极少使用

      小数转整数,砍掉小数部分,会丢失精度

    语法: 目标类型 变量=(目标类型)变量/表达式

  3. short num=1; num+=2;和num=num+2;的区别是什么?
    
  4. float pi=3.14;那么pi+1==4.14的结果是多少?
    pi+1的计算结果是近似数,float,double存放的是近似数
    
  5. Java中的转义字符有哪些?及其作用

  6. (补充)有一个三位整数,如何获取到个个位上的数?

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. 运算符 逻辑 三目运算

  2. 计算后级别的提升

  3. 程序的三大结构

  4. 选择结构

  5. 循环结构

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);
	}

练习

  1. 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.程序的三大结构

  1. 顺序结构:按照程序员的编码顺序,自上而下逐行执行

  2. 分支结构、条件选择结构:根据条件来决定代码是否执行,符合条件执行此段代码,不符合则不执行

  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语法总结:

  1. 用于等值判断,case后面必须是一个固定值

  2. break:不是必须的,但是去掉后,是否符合业务要求

    ​ 如果去掉break,将直接执行下一个case语句块

  3. default:可以省略 可以在switch中的任何位置

  4. switch语句中的表里或表达式的类型必须是如下六个其中一个

    byte short int String char Enum(枚举)

    code a little debug alittle 写一点 调试运行一点

  5. 变量的作用域

5.变量的作用域

​ 作用域:就是有效范围

​ 代码块{}

​ 局部变量:声明在方法内部或方法内部的语句块中的表里,有效范围从声明开始,到 所有、在语句块的结束}

三,总结

  1. 逻辑运算符

    1. &&同时为真结果才为真
    2. ||有一个为真结果就为真
    3. !
    
    1. 三目运算符

    是if else分支结构的简化

    表达式1?表达式2:表达式3

    1. 控制台的输入

    2. 程序的三大结构

    顺序结构

    选择分支结构

    1. if选择结构

    if else

    嵌套if结构

    多重if结构

    1. switch先择结构

    switch case default

    1. 局部变量

遇到错别字 评论留言