Day03_JAVA语言基础第三天

时间:2022-09-11 13:02:43

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. &lbrack;Java入门笔记&rsqb; Java语言基础(三):运算符

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

  7. C语言基础-第三章

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

  8. C语言基础知识&lpar;三&rpar;——指针

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

  9. java语言基础(三)&lowbar;数组

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

随机推荐

  1. C语言中的far关键字

    最近看嵌入式文件系统TFFS的源码,看到far关键字,基础不好,惊呆了... /*Specify here which pointers may be far, if any. *Far pointe ...

  2. centos7&period;0 下安装git(ssh方式)

    最近刚弄了个阿里云,在上面弄个git服务器,这里只弄了ssh方式访问,http方式访问的可以看我另外一个随笔http://www.cnblogs.com/hz-cww/p/6077970.html. ...

  3. sessionid如何产生?由谁产生?保存在哪里?

    面试问道这个我居然不知道怎么回答,当然也是因为我确实没有研究过.下面就是百度了一篇文章后简单回答这个问题. 参考:http://www.cnblogs.com/sharpxiajun/p/339560 ...

  4. 设计模式C&num;实现&lpar;六&rpar;——单例模式

    单例模式:保证一个类仅有一个实例,并提供一个访问它的全局访问点. 构成: 1.私有的构造函数 2.私有静态的实例 3.返回实例的静态方法 public class Singleton { privat ...

  5. &lpar;转&rpar;iOS 各种控件默认高度(图示)

    1.状态栏 状态栏一般高度为20像素,在打手机或者显示消息时会放大到40像素高,注意,两倍高度的状态栏在好像只能在纵向的模式下使用.如下图 用户可以隐藏状态栏,也可以将状态栏设置为灰色,黑色或者半透明 ...

  6. 转&colon; window中使用PSFTP&sol;WinSCP实现SFTP上传下载

    sftp 服务器:  dbmonitor 1.sftp属于交互式的,所以你得缓存下命令#!/bin/shsftp -o Port=3322 root@172.16.1.21:/opt << ...

  7. JavaScript原生的节点操作

    前言:原生是Javascript的基础,还是需要多多重视,时间长都忘记了,现在整理一下. 获取子节点 children 不是标准的dom属性,但是几乎被所有浏览器支持.不包含文本节点. 注意:在IE中 ...

  8. 发布利用 Qt Assistant来做帮助系统的程序遇到的问题

    最近,一直在做反演初始模型可视化建模的软件 model Constraint,最后的步骤就是利用 Qt Assistant为自己的程序制作帮助系统. 1.<Qt Creator快速入门>和 ...

  9. telnet能通但是ping不通

    以前本人以为Telnet通 ping一定也是通的, telnet能通,表示两台计算机之间建立了连接通道.理论上是能ping通的.如果不能ping通,可能的原因是对方主机关闭了ping回显,或者是对方的 ...

  10. C&num; 读取sqlite文件

    class Program { static void Main(string[] args) { getsqliteData(); } public static void getsqliteDat ...