day03 【IDEA、运算符、数据输入】

开发工具IntelliJ IDEA


快捷键
1.psvm + 回车: main方法
2.sout + 回车: 输出语句
3.ctrl + d: 复制当前行
4.ctrl + alt + L: 格式化代码
5.alt + shift + ↑: 向上移动代码
6.alt + shift + ↓: 向下移动代码
7.ctrl + /: 单行注释
8.ctrl + shift + /: 多行注释
9.alt + 回车: 代码修正
10.alt + /: 自动提示
11.ctrl + Y: 删除当前行

运算符
关系运算符
关系运算符
1.作用:
	用来比较数据之间的大小关系
        
2.特点:
	不管关系表达式多么复杂或者多么简单,返回值一定是布尔类型的结果,要么是true,要么是false
        
3.分类:
	== 		a==b,判断a和b的值是否相等,成立为true,不成立为false
    != 		a!=b,判断a和b的值是否不相等,成立为true,不成立为false
    > 		a>b,判断a是否大于b,成立为true,不成立为false
    >= 		a>=b,判断a是否大于或者等于b,成立为true,不成立为false
    < 		a<b,判断a是否小于b,成立为true,不成立为false
    <= 		a<=b,判断a是否小于或者等于b,成立为true,不成立为false
        
4.注意:
	(1)=: 一个等号是赋值的意思
    (2)==: 两个等号是判断是否相同的意思

public class Demo01GuanXi {
    public static void main(String[] args) {
        int a = 10, b = 20;
        boolean result = (a == b);
        System.out.println(result);//false
        System.out.println(a != b);//10 != 20: true
        System.out.println(a > b);//10 > 20: false
        System.out.println(a >= b);//10 >= 20: false
        System.out.println(a < b);//10 < 20: true
        System.out.println(a <= b);//10 <= 20: true
        System.out.println(a == b);//10 == 20: false
        System.out.println(a = b);//20 把变量b的值赋值给变量a,最后打印变量a的值
    }
}
逻辑运算符
1.作用: 
	用来连接多个条件(布尔表达式的: 结果为true/false的式子),最终的结果也必须是一个布尔类型的数据,要么是true,
	要么是false
    不管逻辑运算符连接的式子有多么简单或者多么复杂,最终结果要么是true,要么是false    
2.分类:
	(1)&(shift+7): 逻辑与,表示并且的意思,多个条件同时成立的意思,就是只有多个条件都是true,最终的结果才是true
        特点:
			【有false,则false】: 只要有一个条件不成立(false),结果就是false
    (2)|(shift+\): 逻辑或,表示或者的意思,多个条件,只要有一个成立,最终的结果就是true
        特点:
        	【有true,则true】:只要有一个条件是true,结果就是true
    (3)^(shift+6): 逻辑异或,相同为false,不同为true			----基本不用
    (4)!(shift+1): 逻辑取反,!true 就是false,!false 就是true

public class Demo02LuoJi {
    public static void main(String[] args) {
        int a = 10,b = 20,c = 30;
        System.out.println(a>b & a>c);//10 > 20 & 10 > 30 ==> false & false ==> false
        System.out.println(a<b & a<c);//10 < 20 & 10 < 30 ==> true & true ==> true
        System.out.println(a>b & a<c);//10 > 20 & 10 < 30 ==> false & true ==> false
        System.out.println(a<b & a>c);//10 < 20 & 10 > 30 ==> true & false ==> false

        System.out.println("--------------------");

        System.out.println(a>b | a>c);//10 > 20 | 10 > 30 ==> false | false ==> false
        System.out.println(a<b | a<c);//10 < 20 | 10 < 30 ==> true | true ==> true
        System.out.println(a>b | a<c);//10 > 20 | 10 < 30 ==> false | true ==> true
        System.out.println(a<b | a>c);//10 < 20 | 10 > 30 ==> true | false ==> true

        System.out.println("--------------------");
        System.out.println(a>b ^ a>c);//10 > 20 ^ 10 > 30 ==> false ^ false ==> false
        System.out.println(a<b ^ a<c);//10 < 20 ^ 10 < 30 ==> true ^ true ==> false
        System.out.println(a>b ^ a<c);//10 > 20 ^ 10 < 30 ==> false ^ true ==> true
        System.out.println(a<b ^ a>c);//10 < 20 ^ 10 > 30 ==> true ^ false ==> true
        System.out.println("--------------------");
        System.out.println(!true);//false
        System.out.println(!false);//true
    }
}
逻辑运算符
1.短路的逻辑运算符
    	(1)短路逻辑与&&: 左侧为false,右边不计算
        (2)短路逻辑或||: 左侧为true,右侧不计算
    2.特点:
        (1)短路逻辑与&&: 和&结果是相同的,但是&&可以提高效率
        (2)短路逻辑与||: 和|结果是相同的,但是||可以提高效率

    3.建议:
        以后开发学习中,全部使用短路与&& 以及 短路或||
三元运算符
1.格式:
	数据类型 变量名称 = 布尔表达式1 ? 表达式2 : 表达式3;

2.执行流程:
	(1)计算布尔表达式1的结果,看是true还是false
    (2)如果布尔表达式1的结果为true,就把表达式2的结果赋值给左侧的变量
    (3)如果布尔表达式1的结果为false,就把表达式3的结果赋值给左侧的变量

数据输入
数据输出: 把程序运行的结果数据输出到控制台,从而显示到屏幕上
数据输入: 获取用户从键盘上录入的数据到程序当中,然后程序根据业务需求,对获取到的数据进行相关处理

思考1:
	像数据输入这样的操作使用非常频繁,而且实现起来比较复杂,jdk的开发人员已经把此功能实现好了
    jdk中把获取键盘录入数据的功能放到了java.util包的Scanner类中

思考2: 如何使用键盘录入Scanner类呢?
    java中的数据类型: 基本数据类型(四类八种)和引用数据类型(,接口,数组,枚举...)
    对于引用类型的使用有固定的使用步骤,而键盘录入Scanner类就是一个引用类型,使用也有固定的步骤

键盘录入Scanner的使用,有固定的3个步骤:                    ----固定格式,先记住
	1.导包(找到我们要使用的东西,告诉jvm我们使用的东西在哪里)
		格式:
        	import 包名.类名;
            import java.util.Scanner;

	2.创建对象:
    	格式:
        	类名 对象名 = new 类名(...);
            类名: 就是之前写代码时class关键字后面的名字
            Scanner sc = new Scanner(System.in);
            注意: System.in是固定写法,后面就业班专门讲解

	3.使用:
		sc.nextInt(): 获取键盘录入的整数数字
	4.练习:
		获取键盘录入的一个int数字并输出到控制台
            (1)导包: import java.util.Scanner;
            (2)创建对象: Scanner sc = new Scanner(System.in);
            (3)获取键盘录入的数字: sc.nextInt()

import java.util.Scanner;                
public class Demo01Scanner {
    public static void main(String[] args) {
        //(1)导包: import java.util.Scanner;
        //(2)创建对象: Scanner sc = new Scanner(System.in);
        Scanner sc = new Scanner(System.in);

        //(3)获取键盘录入的数字: sc.nextInt()
        System.out.println("哥们,请您输入一个整数数字: ");
        int num = sc.nextInt();
        System.out.println("您输入的整数数字: "+num);
    }
}

练习
package com;

import java.util.Scanner;

public class SanYuanYunSuan {
    public static void main(String[] arge) {
        int tiger1 = 180, tiger2 = 200;
        String a = (tiger1 == tiger2) ? "相同" : "不同";
        System.out.println("这两头老虎体重相同么? 答:" + a);
        int Max = (tiger1 > tiger2) ? tiger1 : tiger2;
        System.out.println("这两头老虎体重最大的是多少 答:" + Max);

        Scanner SC = new Scanner(System.in);

/*        H1.nextInt();
        H2.nextInt();
        H3.nextInt();
        */
        int h1 = SC.nextInt();
        int h2 = SC.nextInt();
        int h3 = SC.nextInt();

        int hMax = (h1 > h2 && h1 > h3) ? h1 : ((h2 > h3) ? h2 : h3);
        System.out.println("这三个和尚最高的是多少 答:" + hMax);


    }
}

package com;

public class Sractice01TF {
    public static void main(String[] arge) {
        int a = 10;
        int b = 20;
        int c = 30;
        //(10+20)>30
        System.out.println((a + b) > c);// 输出 false
        //(10-20)<30
        System.out.println((a - b) < c);// 输出 true
        //(10+20)>=30
        System.out.println((a + b) >= c);// 输出 true
        //(20+10)<=30
        System.out.println((a + b) <= c);// 输出true
        System.out.println("===============================");
        //(30-10)!=20
        System.out.println((c-a)!=b); //结果等于20 所以为false
        //(10-20)>30
        System.out.println((a-b)>c);  //结果小于30 所以结果为false
        //(30-20)<10
        System.out.println((c-b)<a);  //结果等于10 所以结果为fales
        //(10+20)==30
        System.out.println((a+b)==c); //结果等于30 所以结果为true
        //(10+20)=30    属于赋值操作
        //System.out.println((a+b)=c);
        //(a+b)不能接收 c 赋予的值,因为(a+b) 不是变量名
        System.out.println("===逻辑运算&&短路(true && true):true 其余都是false ===");

        //(10>20)&&(10>30)  左边已经为 false 则不会运行右边
        System.out.println((a>b)&&(a>c)); // false 不会运行右边
        //
        System.out.println((a<b)&&(a<c)); // true 会运行左边
        //
        System.out.println((a>b)&&(a<c)); // false 不会运行右边
        //
        System.out.println((a<b)&&(a>c)); // false 会运行右边



        System.out.println("===逻辑运算||短路(false && false):false 其余都是true ===");

        System.out.println((a>b)||(a>c));// false 两边都运行

        System.out.println((a<b)||(a<c));// true

        System.out.println((a>b)||(a<c));// true

        System.out.println((a<b)||(a>c));// true
    }
}

package com;

public class Srctice01S3Y {
    public static void main(String[] arge) {
        int a = 3;
        int b = 5;
        int result = a > b ? a : b;
        System.out.println(result);//5
        /*
                请问,在控制台输出的结果是什么?

                A:2

                B:8

                C:3

                D:5
         */

        int aa = 10;
        int bb = 20;
        int cc = 30;
        int temp = aa>bb?aa:bb;
        int result1 = temp>cc?temp:cc;
        System.out.println(result1);//a

        /*
                请问,在控制台输出的结果是什么?

                        A:30

                        B:10

                        C:20

                        D:60
        */


    }
}


总结
能够知道&&和&的区别
	&&: 短路与,左边为flase,右边不进行计算		效率高
	&: 不管左边是true还是false,右边都进行计算		效率低
	
	但是: &&和&的结果是相同的
	
能够使用三元运算符完成获取两个数中较大值
	int a = 10, b = 20;
	int max = (b>a) ? b : a;
	
能够使用键盘录入数据并完成两个数据求和
	导包: import java.util.Scanner;
	创建: Scanner sc = new Scanner(System.in);
	使用:
		int a = sc.nextInt();
		int b = sc.nextInt();
		int sum = a + b;
		sout("sum="+sum);
	
能够知道IDEA的项目结构
知道运算符的逻辑关系
能够使用IDEA完成模块的导入
能够熟练使用 Scanner类

遇到的问题:
1:注意 :导入的文件 不会在当前源文件中
2:使用 Scanner类时 注意接收数据的格式
			如int 类型:int a = sc.nextInt();
			
			接收 String 类型 时遇到问题---  String b = sc.toString();  String b = sc.nextLine();  这是错误的
			正确的格式 String b = sc.next();
			
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

userzxz

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值