1、位运算符
1、面试题(掌握)
^:一个数据对同一个数据^两次,结果还是数据本身
举例:a ^ b ^ b = a
2、注意
知道结论,面试题,以后就完全不用看了
2、逻辑运算符(掌握)
1、分类
&,|,!,^,&&,||
2、详细说明
&:有假则假
|:有真则真
!:真则假,假则真
^:相同为假,不同为真
&&:短路与:如果左边为false,右边不执行
||:短路或如果左边为true,右边不执行
开发中常用&&,||,!
3、经验
一般情况在开发过程中用的最多的是:++,(),&&,||,!,
2、条件运算符(掌握)
又叫三元运算符,三目运算符
1、 格式
举例:
int age =100;
String str = age>50?"老腊肉":"小鲜肉";
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.一般不建议省略
B 执行流程
首先拿表达式中的值与case后面的值匹配,
如果有就执行对应的case里面的内容,直到遇到break或switch语句被执行完毕才会停止
如果没有匹配项,但是有default,就会执行default里面的内容,直到遇到break或switch语句被执行完毕才会停止
(注意:匹配一次成功后不再匹配)
C 注意事项
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类型数据即可
import java.util.Scanner;//第一步:导包
classDemo{
publicstaticvoid main(String[] args){
//第二步:创建Scanenr变量
Scanner scanner =newScanner(System.in);
//第三步:通过调用scanner变量的nextInt()方法获取用户录入的数据,并且将用户录入的数据赋值给num
int num = scanner.nextInt();
//打印键盘录入的数据
System.out.println(num);
}
}
9、今日课堂必掌握案例(敲熟)
if案例
1、根据键盘录入的成绩,判断等级
2、根据键盘录入的月份,输出该月份所对应的季节
switch案例
3、根据键盘录入的日期(1-7),输出对应的星期
4、根据键盘录入的月份,输出该月份所对应的季节
10、今天必须掌握的内容。以及常见的笔试题和面试题(学完这个就可以放心学习后面的知识了)
import java.util.Scanner;
/**
* 键盘录入一个成绩,判断并输出成绩的等级
* @author haoyongliang
*
*/
publicclassDemo{
publicstaticvoid main(String[] args){
System.out.println("请输入学生成绩范围在1到100之间");
Scanner sc =newScanner(System.in);
int x = sc.nextInt();
if(x >=90&& x <=100){
System.out.println("优");
}elseif(x >=80&& x <=89){
System.out.println("良");
}elseif(x >=70&& x <=79){
System.out.println("中");
}elseif(x >=60&& x <=69){
System.out.println("及");
}elseif(x >=0&& x <=59){
System.out.println("差");
}else{
System.out.println("成绩录入错误");
}
}
}
import java.util.Scanner;
/**
-
* 根据键盘录入的月份,输出该月份所对应的季节,用if实现
一年有四季 3,4,5春季
6,7,8夏季
9,10,11秋季
12,1,2冬季
* @author haoyongliang
*
*/
publicclassDemo{
publicstaticvoid main(String[] args){
System.out.println("请输入学生成绩范围在1到100之间");
Scanner sc =newScanner(System.in);
int month = sc.nextInt();
if(month >12|| month <1){
System.out.println("对不起没有对应的季节");
}elseif(month >=3&& month <=5){
System.out.println(month +"月是春季");
}elseif(month >=6&& month <=8){
System.out.println(month +"月是夏季");
}elseif(month >=9&& month <=11){
System.out.println(month +"月是秋季");
}else{
System.out.println(month +"月是冬季");
}
}
}
import java.util.Scanner;
/**
* 根据键盘录入的日期(1-7),输出对应的星期
*
* @author haoyongliang
*
*/
publicclassDemo{
publicstaticvoid main(String[] args){
// week:星期
int week =1;
switch(week){
case1:
System.out.println("星期一");
break;
case2:
System.out.println("星期二");
break;
case3:
System.out.println("星期三");
break;
case4:
System.out.println("星期四");
break;
case5:
System.out.println("星期五");
break;
case6:
System.out.println("星期六");
break;
case7:
System.out.println("星期日");
break;
default:
System.out.println("对不起没有对应的星期");
break;
}
}
}
import java.util.Scanner;
/**
* 键盘录入月份,输出对应的季节,用switch实现
一年有四季 3,4,5春季 6,7,8夏季 9,10,11秋季 12,1,2冬季
* @author haoyongliang
*
*/
publicclassDemo{
publicstaticvoid main(String[] args){
Scanner sc =newScanner(System.in);// 创建键盘录入对象
System.out.println("请输入月份");
int month = sc.nextInt();// 将键盘录入的结果存储在month
switch(month){
case3:
case4:
case5:
System.out.println(month +"月是春季");
break;
case6:
case7:
case8:
System.out.println(month +"月是夏季");
break;
case9:
case10:
case11:
System.out.println(month +"月是秋季");
break;
case12:
case1:
case2:
System.out.println(month +"月是冬季");
break;
default:
System.out.println("对不起没有对应的季节");
break;
}
}
}
Day03_JAVA语言基础第三天的更多相关文章
-
Java语言基础(三)
Java语言基础(三) 一. 补码 (1).之所以有补码是因为要考虑成本 就是造计算机的成本 (2).下面让我们分析一下补码 以四位补码为例 <1> 高位是符号位,它决定其是正数还是 ...
-
JavaScript脚本语言基础(三)
导读: 数学对象(Math) 数组对象(Array) 字符串对象(String) 日期对象(Date) js对象是属性和方法的集合.JavaScript中的所有事物都是对象,如:字符串.数值.数组.函 ...
-
Go语言核心36讲(Go语言基础知识三)--学习笔记
03 | 库源码文件 在我的定义中,库源码文件是不能被直接运行的源码文件,它仅用于存放程序实体,这些程序实体可以被其他代码使用(只要遵从 Go 语言规范的话). 这里的"其他代码" ...
-
Java语言基础(三) Java注释
Java注释 Java提供了三种注释的方式: ①单行注释:// ②多行注释:/* ... */ ③归档(JavaDoc)注释: /** * 作者:heyiyong * 时间:2013年11月27日 ...
-
C语言基础第三次作业
题目7-1,寻找最小值 1.实验代码: #include<stdio.h> int main() { int i,mark,min,n; scanf("%d", &am ...
-
[Java入门笔记] Java语言基础(三):运算符
简介 运算符是一种特殊的符号,运算符是通过一定的运算规则操作一个或多个操作数,并生成结果的特定符号,运算符和操作数的有效组合称为表达式. Java中运算符主要分为以下几类: 赋值运算符 算术运算符 关 ...
-
C语言基础-第三章
C语句和数据输入/输出(函数) 1.printf();输出函数 2.getch();输入函数 3.scanf();格式输入 4.puts();字符串输出 5.gets();字符串输入
-
C语言基础知识(三)——指针
指针定义 1.指针的值表示的是它所指向对象的地址,指针+1表示的是下一元素的地址,按**字节**编址,而不是下一字节的地址. 2.依照数据类型而定,short占用两字节.int占用4字节.double ...
-
java语言基础(三)_数组
数组 是引用类型 1. 容器:是将多个数据存储到一起,每个数据称为该容器的元素. 2. 数组概念:数组就是存储数据长度固定的容器,保证多个数据的数据类型要一致. 特点: 数组是一种引用数据类型 数组当 ...
随机推荐
-
C语言中的far关键字
最近看嵌入式文件系统TFFS的源码,看到far关键字,基础不好,惊呆了... /*Specify here which pointers may be far, if any. *Far pointe ...
-
centos7.0 下安装git(ssh方式)
最近刚弄了个阿里云,在上面弄个git服务器,这里只弄了ssh方式访问,http方式访问的可以看我另外一个随笔http://www.cnblogs.com/hz-cww/p/6077970.html. ...
-
sessionid如何产生?由谁产生?保存在哪里?
面试问道这个我居然不知道怎么回答,当然也是因为我确实没有研究过.下面就是百度了一篇文章后简单回答这个问题. 参考:http://www.cnblogs.com/sharpxiajun/p/339560 ...
-
设计模式C#实现(六)——单例模式
单例模式:保证一个类仅有一个实例,并提供一个访问它的全局访问点. 构成: 1.私有的构造函数 2.私有静态的实例 3.返回实例的静态方法 public class Singleton { privat ...
-
(转)iOS 各种控件默认高度(图示)
1.状态栏 状态栏一般高度为20像素,在打手机或者显示消息时会放大到40像素高,注意,两倍高度的状态栏在好像只能在纵向的模式下使用.如下图 用户可以隐藏状态栏,也可以将状态栏设置为灰色,黑色或者半透明 ...
-
转: window中使用PSFTP/WinSCP实现SFTP上传下载
sftp 服务器: dbmonitor 1.sftp属于交互式的,所以你得缓存下命令#!/bin/shsftp -o Port=3322 root@172.16.1.21:/opt << ...
-
JavaScript原生的节点操作
前言:原生是Javascript的基础,还是需要多多重视,时间长都忘记了,现在整理一下. 获取子节点 children 不是标准的dom属性,但是几乎被所有浏览器支持.不包含文本节点. 注意:在IE中 ...
-
发布利用 Qt Assistant来做帮助系统的程序遇到的问题
最近,一直在做反演初始模型可视化建模的软件 model Constraint,最后的步骤就是利用 Qt Assistant为自己的程序制作帮助系统. 1.<Qt Creator快速入门>和 ...
-
telnet能通但是ping不通
以前本人以为Telnet通 ping一定也是通的, telnet能通,表示两台计算机之间建立了连接通道.理论上是能ping通的.如果不能ping通,可能的原因是对方主机关闭了ping回显,或者是对方的 ...
-
C# 读取sqlite文件
class Program { static void Main(string[] args) { getsqliteData(); } public static void getsqliteDat ...