JAVASE第3天笔记

来源:互联网 发布:淘宝脱毛仪器有效果吗 编辑:程序博客网 时间:2024/05/23 02:02

Day03课堂笔记

标签(空格分隔): java基础


作业一
注意点 :
十六进制为: 从10到15开始,分别以a ~f来替代
a : 10 b :11 c : 12 d : 13 e :14 f :15

一:逻辑运算符 (非常非常非常重要)

& | ^ !逻辑& :遇false则false ,只要一边为false假则假 ,相当于"并且"逻辑| :遇true则true,只要有一边为true则true逻辑异或^:两边相同则false,两边不同则true!非:取反    !白富美--矮穷矬&& 短路与  特点:左边是false ,右边不执行  || 短路或 特点:左边是true,则右边不执行&& 和 & 区别 (重要)a,结果一样b,&&左边是false ,右边不执行  ,&两边都执行c,效率: &&效率相对于&而言,效率更高,开发中常用|| 和 | 区别a,结果一样b,||左边是true ,右边不执行  ,|两边都执行c,效率:||效率相对于|而言,效率更高,开发中常用

位运算符(了解)

& | ^ ~
& 有0则0
| 有1则1
^ 相同则0,不同则1
~ 按位取反

& 和 | 如果在做整数运算的时候
举例: 3& 4,左右两边是整数,这个时候是作为位运算符
true & false 左右两边是布尔类型的时候,是作为逻辑运算符

位异或(了解)

位异或特点:一个数对另外一个数异或两次,则该数不变
数据位置交换的时候:
(1)定义第三方变量 temp : 开发中推荐使用这种
(2)+ 一次 - 两次
(3)^ 方法 : 面试

位运算符(了解)

<< 左移 左移几位,右边补几个0
>> 右移 右移几位,最高位是0补0,是1 补1
>>> 无符号右移 无论最高位是0或者1 ,移动多少位最高位就补多少个0

最高位:最左边的位置
额外补充:

class Demo07 {    public static void main(String[] args) {        System.out.println( 100 >> 1);        System.out.println(100 >> 33); //  % 32 超过有效位 会取模        System.out.println(100 << 1);        System.out.println(100 << 33);         long l = 100L;  // 64 %64        System.out.println(l >> 1);        System.out.println(l >> 32);        System.out.println(l >> 65); //50        System.out.println(l << 1); //200        System.out.println(l << 65); //200    }}

三元运算符(非常重要)

三元运算符格式为 (关系表达式) ? 表达式一 : 表达式二
执行顺序是
第一步:判断关系表达式 ,如果是true 执行表达式一 ,false 表达式二
表达式:关系表达式 ,使用的是关系运算符判断,关系运算符得出的结果必须是布尔类型boolean

class Test1_Operator {    public static void main(String[] args) {        /*        * A:案例演示            * 比较两个整数是否相同        * B:案例演示            * 获取三个整数中的最大值        */        //比较两个整数是否相同        /*int x = 10;        int y = 10;*/        boolean b = (x == y) ? true : false;        //关系运算符算出来的结果一定是布尔类型        int b = (x == y);        System.out.println("b = " +  b);        //获取三个整数中的最大值        int a = 10; //死数据        int b = 20;        int c = 30;        //先比较任意两个数的值,找出这两个数中的最大值        int temp = (a > b) ? a : b;        //用前两个数的最大值与第三个数比较,获取最大值        int max = (temp > c) ? temp : c;        System.out.println("max =" + max);    }}

键盘录入对象(基础班 非常非常非常重要)

使用步骤
第一步:先导包 import java.util.Scanner; 在哪里写?class上面写
第二步:创建Scanner对象 Scanner sc = new Scanner(System.in);
哪里写?主方法里面
第三步:调用Scanner的nextInt()方法让用户输入数据;

import java.util.Scanner;                       //导入包中的类Scannerclass Test2_Scanner {    /*    * A:案例演示        * 键盘录入练习:键盘录入两个数据,并对这两个数据求和,输出其结果    * B:案例演示        * 键盘录入练习:键盘录入两个数据,获取这两个数据中的最大值    */    public static void main(String[] args) {        Scanner sc = new Scanner(System.in);    //创建键盘录入对象        //键盘录入练习:键盘录入两个数据,并对这两个数据求和,输出其结果        /*System.out.println("请输入第一个整数:");        int x = sc.nextInt();                   //将键盘录入的数据存储在x中        System.out.println("请输入第二个整数:");        int y = sc.nextInt();                   //将键盘录入的数据存储在y中        int sum = x + y;        System.out.println(sum);*/        //键盘录入练习:键盘录入两个数据,获取这两个数据中的最大值        System.out.println("请输入第一个整数:");        int x = sc.nextInt();                   //将键盘录入的数据存储在x中        System.out.println("请输入第二个整数:");        int y = sc.nextInt();                   //将键盘录入的数据存储在y中        int max = (x > y) ? x : y;              //获取x和y中的最大值        System.out.println("max = " + max);    }}

流程控制语句(非常非常非常重要)

流程控制语句分为哪几类?    顺序结构----->从上往下    选择结构----->if语句结构 / switch语句结构    循环结构

if语句格式

格式第一种    if(比较表达式){        语句体;//代码区    }执行流程 : 比较表达式 如果是true 则执行语句体;                      如果是false ,则不执行;比较表达式 :结果必然是布尔类型 --> true /false;            关系运算符 逻辑运算符
class Demo08_if {    public static void main(String[] args) {        if(false){            System.out.println("这是真的!");        }    }}

if语句注意事项

* 比较表达式的结果必须是布尔类型 ,的出来的是true或者false* if语句后面大括号在控制一条语句的时候可以省略书写,如果多条,要使用大括号括起来,建议永远不省略; 举例:int x = 10;这是两条语句,声明式一条,赋值一条;* 有左大括号就没有分号;

if语句第二种格式

格式二:    if(关系表达式/判断条件){        语句体1;    }else {        语句体2;    }执行流程:    判断表达式,如果表达式结果为true则执行语句体1,false,则执行语句体2;

if语句和三元运算符的区别?

区别
能用三元运算符,都可以使用if语句代替
三元运算符是一个运算符,运算符算出来得到是一个结果,在输出语句的时候,就不能直接使用三元运算符,只能用if语句

练习题(做法二)

import java.util.Scanner;class Demo09_if {    /*    需求:键盘录入一个成绩,判断并输出成绩的等级。                90-100 优                80-89  良                70-79  中                60-69  及                0-59   差    */    public static void main(String[] args) {        Scanner sc = new Scanner(System.in);        System.out.println("请输入您的成绩:");        int score = sc.nextInt();        if(score > 100 || score < 0){            System.out.println("输入错误!");        }else if(score >= 90){            System.out.println("优秀");        }else if(score >= 80){            System.out.println("良");        }else if(score >= 70){            System.out.println("中");        }else if(score >= 60){            System.out.println("及格");        }else{            System.out.println("不及格");        }    }}

选择结构switch语句(知道能看懂,会写)

格式:    switch(表达式) {        case 值 :            执行语句1;            break;         case 值 :            执行语句1;            break;         case 值 :            执行语句1;            break;         default :           执行语句;          break;     }执行流程    表达式是个变量:整型(byte short int char )                                      String(JDK1.7后才可以)  枚举(JDK1.5后) 面试题:     表达式 long类型 不可以

### 使用switch语句的注意事项有哪些?
* break不能省略,如果省略就容易出现case穿透问题
* case 值 后面只能放常量,不能使用变量,而且case后面的值不能重复
* default 后面的break可以省略,也可以不省略,建议不省略
* default 位置 建议放在最后,也可以方放前面,一般都是放后面

结束条件: switch 遇到break 或者 右大括号才结束! (强调!)

if 和 switch区别

if 适用于判断区间范围使用 (开发非常非常实用)switch 适用判断固定值switch 可以实现的 if都可以,反过来则不成立!举例:分数 91 98 ,可以用,不推荐
0 0
原创粉丝点击