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 ,可以用,不推荐
- JAVASE第3天笔记
- JAVASE第26天笔记
- JAVASE第2天笔记
- JAVASE第4天笔记
- JAVASE第5天笔记
- JAVASE第6天笔记
- JAVASE第6天笔记
- JAVASE第7天笔记
- JAVASE第8天笔记
- JAVASE第9天笔记
- JAVASE第10天笔记
- JAVASE第11天笔记
- JAVASE第12天笔记
- JAVASE第13天笔记
- JAVASE第14天笔记
- JAVASE学习笔记第5天
- JAVASE学习笔记第6天
- JAVASE学习笔记第7天
- 删除链表中间节点
- 键盘录入两个文件路径,将其中一个文件夹中的所有的文件复制到另一个文件中
- JAVASE第2天笔记
- Lesson 11: 绘制三角形
- 简单小程序敲着练手额~
- JAVASE第3天笔记
- JAVASE第4天笔记
- JAVASE第5天笔记
- 动态规划总结
- JAVASE第6天笔记
- install salt & initial configuration(centos7)
- Vollery网络框架的源码分析
- ExtJS框架 使用树控件TreeNode \ TreeLoader
- JAVASE第6天笔记