1、位运算符

1、面试题(掌握)

^:一个数据对同一个数据^两次,结果还是数据本身

举例:a ^ b ^ b = a

 2、注意

知道结论,面试题,以后就完全不用看了

2逻辑运算符(掌握)

                1、分类

                       &,|,!,^,&&,||

                2、详细说明           

&:有假则假

|:有真则真

!:真则假,假则真

^:相同为假,不同为真

&&:短路与:如果左边为false,右边不执行

||:短路或如果左边为true,右边不执行

开发中常用&&,||,!

3、经验

一般情况在开发过程中用的最多的是:++,(),&&,||,!,

2、条件运算符(掌握)

又叫三元运算符,三目运算符               
        1、 格式
                举例:

  1. int age =100;
  2. String str = age>50?"老腊肉":"小鲜肉";
  3. System.out.println(str);

3、注意
                既然是表达式,就必须有结果        
        4、什么时候用               
                给变量赋值的时候用

条件表达式? 表达式1:表达式2;

 2、执行流程

根据条件表达式返回的值是true还是false决定结果是什么,如果是true,就把表达式1作为结果,如果是false就把表达式2作为结果

3、两个面试题(掌握)

1、请用最有效率的代码写出2乘8

2 << 3;               =2 * (2*2*2)               =2 * 8

2、请交换两个变量

int a = 10;

int b = 20;

你要知道他要面你什么还要知道你开发中怎么用

开发:临时变量

int temp = a;

a = b;

b = temp;

面试:位 ^运算符

a = a^b;

b = a^b;//= a^b ^b;

a = a^b;//=a^b ^a;

4、if语句(掌握)

1、使用场景(理解)

1、常见于对某个范围进行判断

2、几个变量判断

3、boolean类型表达式的判断

2、格式

A:第一种格式

if(条件表达式)

{

语句体;

}

执行流程 : 自己总结

                         这里知道被{}包裹起来的就是代码块就可以了

B:第二种格式

if(条件表达式)

{

语句体;

}else{

语句体;

}

执行流程 : 自己总结

C:第三种格式

if(条件表达式)

{

语句体;

}else if(条件表达式2)

{

语句体;

}else{

语句体;

}

执行流程 : 自己总结

3、注意事项

A 什么时候用哪一种if语句

第一种格式在判断条件为一种情况下使用

第二种格式在判断条件为两种情况下使用

第三种格式在判断条件为多种情况下使用

B 每一种if语句其实都是一个整体,如果有地方执行了,其他的就不执行了

C 如果if或者else里面控制的语句体是一条语句是可以省略大括号的,但是,如果是控制多条语句,必须加上大括号

建议:永远写上大括号

D 大括号和分号一般不同时出现

4、作用域

所有变量的定义只在它所属的大括号内有效

5、switch语句(掌握)

1、用途(理解)

一般用于几个常量的判断,并且对于几个常量的判断switch的效率高于if

因为switch会把几个常量值直接加载到内存,在判断的时候效率要比if高

所以,针对几个常量的判断,一般选择switch语句

2、switch语句的格式

switch(表达式)

{

case 值1:

语句体1;

break;

case 值2:

语句体2;

break;

。。

default:

语句体n;

break;

}

 A 针对格式的解释

1、Switch表示这里使用的是switch语句,后面跟的是选项

表达式:byte,short,int,char

JDK5以后可以是枚举(就业班讲)

Jdk7以后可以是字符串(后面讲)

2、case表示的这里就是选项的值

他后面的值将来和表达式里的值匹配

case后面的值是不能够重复的

3、break:

switch语句执行到这里就结束了

4、default

当所有的case和表达式都不匹配的时候,就走default的内容

它相当于if语句的else.一般不建议省略

执行流程

首先拿表达式中的值与case后面的值匹配,

如果有就执行对应的case里面的内容,直到遇到break或switch语句被执行完毕才会停止

如果没有匹配项,但是有default,就会执行default里面的内容,直到遇到break或switch语句被执行完毕才会停止

注意:匹配一次成功后不再匹配

注意事项

A、defult整体可以省略吗

可以,但是不建议

B、default的位置可以放到前面吗?

可以,但是不建议

C、break可以省略吗

可以,但是不建议

default在最后,break是可以省略的

case后面的break可以省略,但是结果可能有问题

D、switch语句什么时候结束

遇到break或者执行到switch语句的末尾

6、if 和 switch对比(理解)

A、switch建议判断固定值的时候使用,if建议判断区间或范围的时候用

B、案例:分别用switch和if实现下列需求

键盘录入月份,输出对应的季节(见最下面代码)

7、条件运算符和if语句第二种格式替换(掌握)

在某些情况下条件运算符可以和if语句第二种格式相互替换 : 在给变量赋值的情况下可以替换

条件运算符可以看作if语句第二种格式的简写,既然是简写就会有弊端:

1、条件运算符是运算符,所以必须有结果,但是if语句是流程控制语句,可以直接输出一些内容

2、条件运算符的执行效率比if语句第二种格式低,这个了解就好(了解)

8、Scanner的使用(掌握)

1、概述

Scanner 是JDK5以后设计的用来接收键盘录入数据使用的

2、使用步骤

目前我们要通过键盘录入int类型数据,必须按照如下步骤

第一步 导包

import java.util.Scanner;

第二步 创建对象,封装键盘录入

Scanner sc = new Scanner(System.in);

第三步 调用方法,获取数据

int number = sc.nextInt();

以后的课程会详细讲,所以现在只需要知道如何从控制台获取int类型数据即可

  1. import java.util.Scanner;//第一步:导包
  2. classDemo{
  3. publicstaticvoid main(String[] args){
  4. //第二步:创建Scanenr变量
  5. Scanner scanner =newScanner(System.in);
  6. //第三步:通过调用scanner变量的nextInt()方法获取用户录入的数据,并且将用户录入的数据赋值给num
  7. int num = scanner.nextInt();
  8. //打印键盘录入的数据
  9. System.out.println(num);
  10. }
  11. }
 

9、今日课堂必掌握案例(敲熟)

     if案例

1、根据键盘录入的成绩,判断等级

2、根据键盘录入的月份,输出该月份所对应的季节  

     switch案例

3、根据键盘录入的日期(1-7),输出对应的星期

4、根据键盘录入的月份,输出该月份所对应的季节

10、今天必须掌握的内容。以及常见的笔试题和面试题(学完这个就可以放心学习后面的知识了)

 
1、独立使用常见的运算符!=,==,>,<,>=,<=,&&,||,!
2、说说&&和&的区别,||和|的区别
3、互换两个数的两种方式
4、最快的方法求2*8
5、根据键盘录入的成绩,判断等级
  1. import java.util.Scanner;
  2. /**
  3. * 键盘录入一个成绩,判断并输出成绩的等级
  4. * @author haoyongliang
  5. *
  6. */
  7. publicclassDemo{
  8. publicstaticvoid main(String[] args){
  9. System.out.println("请输入学生成绩范围在1到100之间");
  10. Scanner sc =newScanner(System.in);
  11. int x = sc.nextInt();
  12. if(x >=90&& x <=100){
  13. System.out.println("优");
  14. }elseif(x >=80&& x <=89){
  15. System.out.println("良");
  16. }elseif(x >=70&& x <=79){
  17. System.out.println("中");
  18. }elseif(x >=60&& x <=69){
  19. System.out.println("及");
  20. }elseif(x >=0&& x <=59){
  21. System.out.println("差");
  22. }else{
  23. System.out.println("成绩录入错误");
  24. }
  25. }
  26. }
 
6、根据键盘录入的月份,输出该月份所对应的季节,用if实现
  1. import java.util.Scanner;
  2. /**
  3. * 根据键盘录入的月份,输出该月份所对应的季节,用if实现一年有四季
  4. 3,4,5春季
  5. 6,7,8夏季
  6. 9,10,11秋季
  7. 12,1,2冬季
  8. * @author haoyongliang
  9. *
  10. */
  11. publicclassDemo{
  12. publicstaticvoid main(String[] args){
  13. System.out.println("请输入学生成绩范围在1到100之间");
  14. Scanner sc =newScanner(System.in);
  15. int month = sc.nextInt();
  16. if(month >12|| month <1){
  17. System.out.println("对不起没有对应的季节");
  18. }elseif(month >=3&& month <=5){
  19. System.out.println(month +"月是春季");
  20. }elseif(month >=6&& month <=8){
  21. System.out.println(month +"月是夏季");
  22. }elseif(month >=9&& month <=11){
  23. System.out.println(month +"月是秋季");
  24. }else{
  25. System.out.println(month +"月是冬季");
  26. }
  27. }
  28. }
 
 
7、根据键盘录入的日期(1-7),输出对应的星期
  1. import java.util.Scanner;
  2. /**
  3. * 根据键盘录入的日期(1-7),输出对应的星期
  4. *
  5. * @author haoyongliang
  6. *
  7. */
  8. publicclassDemo{
  9. publicstaticvoid main(String[] args){
  10. // week:星期
  11. int week =1;
  12. switch(week){
  13. case1:
  14. System.out.println("星期一");
  15. break;
  16. case2:
  17. System.out.println("星期二");
  18. break;
  19. case3:
  20. System.out.println("星期三");
  21. break;
  22. case4:
  23. System.out.println("星期四");
  24. break;
  25. case5:
  26. System.out.println("星期五");
  27. break;
  28. case6:
  29. System.out.println("星期六");
  30. break;
  31. case7:
  32. System.out.println("星期日");
  33. break;
  34. default:
  35. System.out.println("对不起没有对应的星期");
  36. break;
  37. }
  38. }
  39. }
 
8、根据键盘录入的月份,输出该月份所对应的季节,用switch实现
  1. import java.util.Scanner;
  2. /**
  3. * 键盘录入月份,输出对应的季节,用switch实现
  4. 一年有四季 3,4,5春季 6,7,8夏季 9,10,11秋季 12,1,2冬季
  5. * @author haoyongliang
  6. *
  7. */
  8. publicclassDemo{
  9. publicstaticvoid main(String[] args){
  10. Scanner sc =newScanner(System.in);// 创建键盘录入对象
  11. System.out.println("请输入月份");
  12. int month = sc.nextInt();// 将键盘录入的结果存储在month
  13. switch(month){
  14. case3:
  15. case4:
  16. case5:
  17. System.out.println(month +"月是春季");
  18. break;
  19. case6:
  20. case7:
  21. case8:
  22. System.out.println(month +"月是夏季");
  23. break;
  24. case9:
  25. case10:
  26. case11:
  27. System.out.println(month +"月是秋季");
  28. break;
  29. case12:
  30. case1:
  31. case2:
  32. System.out.println(month +"月是冬季");
  33. break;
  34. default:
  35. System.out.println("对不起没有对应的季节");
  36. break;
  37. }
  38. }
  39. }
 
 
 
 
 
 
 

Day03_JAVA语言基础第三天的更多相关文章

  1. Java语言基础(三)

    Java语言基础(三) 一.    补码 (1).之所以有补码是因为要考虑成本 就是造计算机的成本 (2).下面让我们分析一下补码 以四位补码为例 <1> 高位是符号位,它决定其是正数还是 ...

  2. JavaScript脚本语言基础(三)

    导读: 数学对象(Math) 数组对象(Array) 字符串对象(String) 日期对象(Date) js对象是属性和方法的集合.JavaScript中的所有事物都是对象,如:字符串.数值.数组.函 ...

  3. Go语言核心36讲(Go语言基础知识三)--学习笔记

    03 | 库源码文件 在我的定义中,库源码文件是不能被直接运行的源码文件,它仅用于存放程序实体,这些程序实体可以被其他代码使用(只要遵从 Go 语言规范的话). 这里的"其他代码" ...

  4. Java语言基础(三) Java注释

    Java注释 Java提供了三种注释的方式: ①单行注释:// ②多行注释:/*  ...  */ ③归档(JavaDoc)注释: /** * 作者:heyiyong * 时间:2013年11月27日 ...

  5. C语言基础第三次作业

    题目7-1,寻找最小值 1.实验代码: #include<stdio.h> int main() { int i,mark,min,n; scanf("%d", &am ...

  6. [Java入门笔记] Java语言基础(三):运算符

    简介 运算符是一种特殊的符号,运算符是通过一定的运算规则操作一个或多个操作数,并生成结果的特定符号,运算符和操作数的有效组合称为表达式. Java中运算符主要分为以下几类: 赋值运算符 算术运算符 关 ...

  7. C语言基础-第三章

    C语句和数据输入/输出(函数) 1.printf();输出函数 2.getch();输入函数 3.scanf();格式输入 4.puts();字符串输出 5.gets();字符串输入

  8. C语言基础知识(三)——指针

    指针定义 1.指针的值表示的是它所指向对象的地址,指针+1表示的是下一元素的地址,按**字节**编址,而不是下一字节的地址. 2.依照数据类型而定,short占用两字节.int占用4字节.double ...

  9. java语言基础(三)_数组

    数组 是引用类型 1. 容器:是将多个数据存储到一起,每个数据称为该容器的元素. 2. 数组概念:数组就是存储数据长度固定的容器,保证多个数据的数据类型要一致. 特点: 数组是一种引用数据类型 数组当 ...

随机推荐

  1. Dapper使用

    公司的项目使用了Dapper做数据库连接处理,感觉不错,自己研究一下怎么用. 在网上找了找资料对Dapper都比较推崇.主要是两个方面,一个是连接速度很快,一个是代码开源且简单,只有一个SqlMapp ...

  2. 在现有 SharePoint 服务器上安装 PowerPivot for SharePoint

    步骤1: 检查 SQL Server 2008 R2 Analysis Services 实例的“程序”文件夹.如果您找到了现有安装或之前安装的证据,则执行剩余步骤.否则,直接执行步骤 2:安装 Po ...

  3. 使用AlarmManager定时更换壁纸----之二

    import java.io.IOException; import android.app.Service;import android.app.WallpaperManager;import an ...

  4. elasticsearch nested查询

    项目里可能会遇到多级嵌套的情况,实际上最多两级,三级及以上,我测试不通过. 一级索引时,我插入数据,会自动创建索引映射:然二级时,索引映射必须手动创建. 映射: PUT test999 { " ...

  5. 【codevs2370】小机房的树 LCA 倍增

    2370 小机房的树  时间限制: 1 s  空间限制: 256000 KB  题目等级 : 钻石 Diamond 题目描述 Description 小机房有棵焕狗种的树,树上有N个节点,节点标号为0 ...

  6. Java 类的一般特征

    1. 创建类的对象时的内存结构 用图来解释: 使用new 创建 a1 时,成员变量的值都是初始默认值. 然后显式的改变其属性的值. 创建a3 时,a3 是直接指向 a1, 即a3 = a1, 两个对象 ...

  7. android平台手电筒开发源代码

    android平台手电筒开发源代码,AndroidManifest.xml文件的入口是startapp,这个文件没上传上来,大家可以自己写. 1. [代码]android 1 2 3 4 5 6 7 ...

  8. C# HttpBrowser 跨进程访问,解决内存泄露问题

    #undef DEBUG using Microsoft.Win32; using Newtonsoft.Json; using System; using System.Collections.Ge ...

  9. pyqt5 笔记(三)py2exe 实现代码打包exe

    python3.4 安装64位的版本 py2exe 下载地址: https://pypi.python.org/pypi/py2exe/0.9.2.0#downloads cmd——>进入pyf ...

  10. SQL Server 2008 定时作业的制定(SQL2005参考此方法) 转

    --  Author : htl258(Tony)--  Date   : 2010-04-29 19:07:45--  Version:Microsoft SQL Server 2008 (RTM) ...