赞
踩
除2 以15为例
2/15 余数
2/7 1
2/3 1
2/1 1
0 1 从下往上读为:1 1 1 1
x x x x
2^3 2^2 2^1 2^0
8 + 4 + 2 + 1 = 15
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-32HIVq8d-1588690352150)(JavaSE.assets/Java工具关系.png)]
注意:添加注释或中文后需用指定编码编译:javac -encoding “utf-8” +文件名.java
关键字特点:
完全小写的英文字母
在增强版的记事本中(如notepad++)有特殊颜色
Demo01Const.java
public class Demo01Const { public static void main(String[] args) { //字符串常量 System.out.println("ABC"); System.out.println("");//字符串两个双引号中间的内容为空 System.out.println("XYZ"); //整数常量 System.out.println(30); System.out.println(-500); //浮点数常量(小数) System.out.println(3.14); System.out.println(-2.5); //字符常量 System.out.println('A'); System.out.println('6'); System.out.println(' ');//两个单引号中间必须有且仅有一个字符,没有不行/有俩也不行 //布尔常量 System.out.println(true); System.out.println(false); //空常量,空常量不能直接用来打印输出。 System.out.println(null); } }
注意事项:
数据类型 | 关键字 | 内存占用 | |
---|---|---|---|
整数型 | byte(字节型) | 1个字节 | -128~127 |
short (短整型) | 2个字节 | -32768~32767 | |
int(短整型)(默认) | 4个字节 | -2的32次方~2的32次方-1 | |
long(长整型) | 8个字节 | -2的63次方~2的63次方-1 | |
浮点型 | float(单精度) | 4个字节 | 1.4013E-45~3.4028E+38(E表示为乘以10的+38/-45次方)(科学计数法) |
double(双精度)(默认/更为精确) | 8个字节 | 4.9E-324~1.7977E+308 | |
字符型 | char(字符型) | 2个字节 | 0~65535 |
布尔型 | boolean(布尔类型) | 1个字节 | true,false |
字符串,数组,类,接口,lambda
程序运行期间,内容可以发生改变的量(两种格式)(练习文件Demo02Variable.java)
创建一个变量并且使用的格式:
Demo02Variable.java
//变量;程序运行期间,内容可以发生改变的量(两种格式)(练习文件Demo02Const.java) //创建一个变量并且使用的格式: //1.数据类型 变量名称; //创建了一个变量 //变量名称 = 数据值;//=代表赋值,将右边的数据值赋值交给左边的变量 //2.数据类型 变量名称 = 数据值;// 在创建一个变量的同时,立刻放入指定的数据值(一步到位,合二为一) public class Demo02Variable{ public static void main(String[] args){ int num1; //创建了一个变量,格式;数据类型 变量名称; num1 = 10; //相变量当中存入一个数据;格式:变量名称 = 数据值; System.out.println(num1); //打印输出变量名称的时候,显示出来的是变量的内容 //改变变量中本来的数字,变成新的数字 num1 = 20; System.out.println(num1); //使用一步到位的格式定义变量 //格式:数据类型 变量名称 = 数据值; int num2 = 25; System.out.println(num2); num2 = 35; System.out.println(num2); System.out.println("<========华丽的分割线========>"); byte num3 = 30; //注意;右侧数值的范围不能超过左侧数据类型的取值范围 //byte num3 = 400; //右侧超出了byte数据范围,报错! System.out.println(num3); short num5 = 50; System.out.println(num5); long num6 = 3000000000L; //注意!使用long类型,需要加上一个后缀L System.out.println(num6); float num7 = 2.5F; //注意!使用float类型,需要加一个后缀F System.out.println(num7); double num8 = 1.2; System.out.println(num8); char zifu1 = 'A'; System.out.println(zifu1); zifu1 = '中'; System.out.println(zifu1); boolean var1 = true; System.out.println(var1); var1 = false; System.out.println(var1); //将一个变量的数据内容,赋值交给另一个变量 //右侧的变量名称var1已经存在,里面装的是false布尔值 //将右侧变量里面的false值,向左交给var2变量进行存储 boolean var2 = var1; System.out.println(var2); } }
当数据类型不一样是,将会发生数据类型转换
Demo01DataType.java
public class Demo01DataType{ public static void main(String[] args){ System.out.println(1024); //这就是一个整数,默认是int类型 System.out.println(3.14); //这就是一个浮点数,默认是double类型 //左边是long类型,右边是默认的int类型,左右不一样 //一个等号代表赋值,将右侧的int常量,交给左侧的long变量进行存储 //int-->long,符合;了数据范围从小到大的要求 //这一行代码发生了自动类型转换 long num1 = 100; System.out.println(num1); //左边是double类型,右边是float类型,左右不一样 //一个等号代表赋值,将右侧的float常量,交给左侧的double变量进行存储 //float-->double,符合;了数据范围从小到大的要求 //这一行代码发生了自动类型转换 double num2 = 2.5F; System.out.println(num2); //左边是float类型,右边是long类型,左右不一样 //一个等号代表赋值,将右侧的long常量,交给左侧的float变量进行存储 //long-->float,符合;了数据范围从小到大的要求 //这一行代码发生了自动类型转换 float num3 = 30L; System.out.println(num3); } }
Demo02DataType.java
public class Demo02DataType{ public static void main(String[] args){ int num = (int)100L; System.out.println(num); //long强制转换成为int类型 int num2 = (int)6000000000L; System.out.println(num2); //1705032704 //double强制转换为int类型 int num3 = (int) 3.99; System.out.println(num3); //输出为3,这并不是四舍五入,所有的小数位都会被舍弃掉 char zifu1 = 'A'; System.out.println(zifu1 + 1); //输出为66,也就是大写字母被当作65进行处理 //计算机的底层会用一个数字(二进制)来代表字符A,就是65【65~90为26个大写英文字母(A-Z)】 //一旦char类型进行了数学运算,那么字符就会按照一定的规则翻译成为一个数字 byte num4 = 40; //注意:右侧的数值大小不能超过左侧的类型范围 byte num5 = 50; //byte + byte --> int+int --> int int result1 = num4 + num5; System.out.println(result1); //输出为90 short num6 = 60; //byte + short --> int + int --> int //int强制转换为short;注意必须保证逻辑上真实大小本来就没有超过short范围,否则会发生数据溢出 short result2 = (short)(num4 + num6); System.out.println(result2); //100 } }
数字和字符对照表(编码表)(练习文件Demo03DataTypeChar.java):
Demo03DataTypeChar.java
/* 数字和字符对照表(编码表): ASCII码表:American Standard Code for Information Interchange,美国标准信息交换代码(小表) Unicode码表:万国码,也是数字和符号的对照关系,开头0~127部分和ASCII完全一样,但是从128开始包含更多字符 48 - ‘0’ 65 - ‘A' 97 - ‘a’ */ public class Demo03DataTypeChar{ public static void main(String[] args){ char zifu1 = '1'; System.out.println(zifu1 + 0); //输出为49 char zifu2 = 'A'; //其实底层保存的是65数字 char zifu3 = 'C'; //左侧是int类型,右边是插入类型 //char-->int,是从小到大 //发生自动类型转换 int num = zifu3; System.out.println(zifu1 + 0); //输出为99 char zifu4 = '中'; System.out.println(zifu5 + 0); //输出为20013 } }
运算符(练习文件 Demo04Operator.java):
加:+
减:-
乘:*
除:/
取模(取余数):%
首先计算得到表达式的结果,然后再打印输出这个结果
对于一个整数的表达式来说,除法用的是整除,整数除以整数,结果仍是整数,只看商,不看余数
注意事项:1.一旦运算当中有不同类型的数据,那么结果将会是数据类型范围大的那种
Demo04Operator.java
public class Demo04Operator{ public static void main(String[] args){ //两个常量之间可以进行数学运算 System.out.println(20 + 30); int a = 20; int b = 30; System.out.println(a - b); //输出为-10 //变量和常量之间可以混合使用 System.out.println(a * 10); //输出为200 int x = 10; int y = 3; int result1 = x / y; System.out.println(result1); //输出为3 int result2 = x % y; System.out.println(result2); //余数,模,1 //int + double-->double+double-->double double result3 = x + 2.5; System.out.println(result3); //输出为12.5 } }
四则运算当中的加号“+”常见的三种用法(练习文件Deme05Plus):
Demo05Plus
public class Demo05Plus{ public static void main(String[] args){ //字符串类型的变量基本使用 //数据类型 变量名称 = 数据值; String str1 = "Hello"; System.out.println(str1); //输出为Hello System.out.println("Hello" + "World"); //输出为HelloWorld String str2 = "Java"; //String + int --> String System.out.println(str2 + 20); //输出为Java20 //优先级问题 //String + int + int --> String + int --> String System.out.println(str2 + 20 + 30); //输出为Java2030 System.out.println(str2 + (20 + 30)); //输出为Java50 } }
自增自减运算符(练习文件Demo06Operator.java):
Demo06Operator.java
public class Demo06Operator{ public static void main(String[] args){ int num1 = 10; System.out.println(num1); //输出为10 ++num1; //单独使用,前++ System.out.println(num1); //输出为11 num1++; //单独使用,后++ System.out.println(num1); //输出为12 System.out.println("----------------华丽的分割线----------------"); //与打印操作混合的时候 int num2 = 20; System.out.println(++num2); //混合使用,先++,变量立刻马上变成21,输出为21 System.out.println(num2); //输出为21 System.out.println("----------------华丽的分割线----------------"); int num3 = 30; //混合使用,后++,首先使用变量本来的30,然后再让变量+1得到31 System.out.println(num3++); //输出为30 System.out.println(num3); //输出为31 System.out.println("----------------华丽的分割线----------------"); int num4 = 40; //和赋值操作混合 int result1 = --num4; //混合使用,前++,变量立刻马上-1变成39,然后将结果39交给result1变量 System.out.println(result1); //39 System.out.println(num4); //39 System.out.println("----------------华丽的分割线----------------"); int num5 = 50; //混合使用,后--,首先把本来的数字50交给result2,然后我自己再-1变成49 int result2 = num--; System.out.println(result2); //50 System.out.println(num5); //49 System.out.println("----------------华丽的分割线----------------"); /*过于复杂不推荐使用,代码应以简洁明了为先 int x = 10; int y = 20; //11 + 20 = 31 int result3 = ++x + y--; System.out.println(result3); //31 System.out.println(x); //11 System.out.println(y); //19 */ } }
赋值运算符分为以下几种
+= | a += 3 | 相当于 | a = a + 3 |
---|---|---|---|
-= | b -= 4 | 相当于 | b = b - 4 |
*= | c *= 5 | 相当于 | c = c * 5 |
/= | d /= 6 | 相当于 | d = d / 6 |
%= | e %= 7 | 相当于 | e = e % 7 |
Demo07Operator.java
public class Demo07Operator{
public static void main(String[] args){
int a = 10;
a += 5; //按照公式进行翻译:a = a + 5 a = 10 + 5 a = 15 a本来是10,现在重新赋值得到15
System.out.println(a); //输出为15
int x = 10;
x %= 3; //x = x % 3 x = 10 % 3 x = 1 x本来是10,重新赋值为1
System.out.println(x); //输出为1
byte num = 30;
num += 5; //num = num + 5 num = byte + int num = int + int num = int num = (byte)int
System.out.println(num); // 输出为35
}
}
== | 比较符号两边数据是否相等,相等结果是true |
---|---|
< | 比较符号左边的数据是否小于右边的数据,如果小于结果是true |
> | 比较符号左边的数据是否大于右边的数据,如果大于结果是true |
<= | 比较符号左边的数据是否小于或者等于右边的数据,如果小于结果是true |
>= | 比较符号左边的数据是否大于或者等于右边的数据,如果大于结果是true |
!= | 不等于符号,如果符号两边的数据不相等,结果是true |
Demo08Operator
public class Demo08Operator{
public static void main(String[] args){
System.out.println( 10 > 5 ); //true
int num1 = 10;
int num2 = 12;
System.out.println( num1 < num2 ); //true
System.out.println( num2 >= 100 ); //false
System.out.println( num1 <= 12 ); //true
System.out.println( num1 <= 100 ); //true
System.out.println( 10 == 10 ); //true
System.out.println( 20 != 25 ); //true
System.out.println( 20 != 20 ); //false
}
}
与(并且) | && | 全都是true,才是true,否则就是false |
---|---|---|
或(或者) | || | 至少一个是true,就是true,全都是false,才是false |
非(取反) | ! | 本来是true,变成false,本来是false,变成true |
与“&&”、或“||”,具有短路效果;如果根据左边已经可以判断得到最终结果,那么右边的代码将不再执行,从而节省一定的性能
注意事项:
Demo09Logic
public class Demo09Logic{ public static void main(String[] args){ System.out.println(true && false); //false System.out.println(true && true); //true System.out.println(3 < 4 && 10 > 5); //true System.out.println(true || false); //true System.out.println(true || true); //true System.out.println(false || false); //false System.out.println(true); //true System.out.println(!true); //false int a = 10; System.out.println(3 > 4 && ++a < 100); //false,3>4已为false,则不执行++a System.out.println(a); //10 int b = 20; System.out.println(3 < 4 || ++b < 100); //true,3<4已为true,则不执行++b System.out.println(b); //20 } }
三元运算符(练习文件Demo10Operator):
注意事项:
Demo10Operator
public class Demo10Operator{ public static void main(String[] args){ int a = 10; int b = 20; //数据类型 变量名称 = 条件判断 ? 表达式A :表达式B; //判断a > b是否成立,如果成立将a的值赋值给max;如果不成立将b的值赋值给max。二者选其一 int max = a > b ? a : b; //最大的变量 System.out.println("最大值: " +max); //输出为20 //int result = 3 > 4 ? 2.5 : 10; 错误写法! System.out.println(a > b ? a : b); //正确写法! } }
方法(练习文件Demo11Method):
概念:就是将一个功能抽取出来,把代码单独定义在一个大括号内,形成一个单独的功能,当我们需要这个功能的时候,就可以去调用,这样即实现了代码的复用性,也解决了代码沉余的现象。
定义一个方法的格式:
public static void 方法名称(){
方法体
}
方法体名称的命名规则和变量一样,使用小驼峰
方法体:也就是大括号当中可以包含任意条语句
注意事项:
如何调用方法,格式:
数据类型
方法名称();
Demo11Method
/* 定义一个方法的格式: public static void 方法名称(){ 方法体 } 方法体名称的命名规则和变量一样,使用小驼峰 方法体:也就是大括号当中可以包含任意条语句 */ public class Demo11Method{ public static void main(String[] args){ farmer(); //调用农民的方法 seller(); //调用小商贩的方法 cook(); //调用厨子的方法 me(); //调用我的方法 } //小商贩 public static void seller(){ System.out.println("运输到农贸市场"); System.out.println("抬高价格"); System.out.println("吆喝"); System.out.println("卖给厨子"); } //厨子 public static void cook(){ System.out.println("洗菜"); System.out.println("切菜"); System.out.println("炒菜"); System.out.println("装盘"); } //我 public static void me(){ System.out.println("吃"); } //农民 public static void farmer(){ System.out.println("播种"); System.out.println("浇水"); System.out.println("施肥"); System.out.println("除虫"); System.out.println("收割"); System.out.println("卖给小商贩"); } }
编译器的两点优化:
为了更好地组织类,Java提供了包机制,用于区别类名的命名空间
包语句的语法格式为:
package pk1[. pkg2[. pkg3…]];
一般利用公司域名的倒置作为包名:com.zhang.xxx/com.wang.xxx
为了能够使用某一个包的成员,我们需要在Java程序中明确导入该包。使用“import”语句可完成次功能
import package1[.package2…].(classname|*);
JavaDoc命令是用来生成自己API文档的
JDK8帮助文档https://docs.oracle.com/javase/8/docs/api/
参数信息
可以通过命令行生成JavaDoc文档 【javadoc -encoding UTF-8 -charset UTF-8 Doc.java】
也可以使用IDEA生成JavaDoc文档:
//: POI/ExportConfig /** Excel导出项配置 * @author Mr zhang * @version 1.0 * @since 1.8 */ @Retention(RetentionPolicy.RUNTIME) @Target({ ElementType.FIELD }) public @interface ExportConfig { /** * @return 表头显示名(如:id字段显示为"编号") 默认为字段名 */ String value() default "field"; /** * @return 单元格宽度 默认-1(自动计算列宽) */ short width() default -1; /** * 将单元格值进行转换后再导出:<br/> * 目前支持以下几种场景:<br/> * 1. 固定的数值转换为字符串值(如:1代表男,2代表女)<br/> * <b>表达式:</b> "s:1=男,2=女"<br/> * * 2. 数值对应的值需要查询数据库才能进行映射(实现com.haohuo.util.poi.convert.ExportConvert接口)<br/> * * @return 默认不启用 */ String convert() default ""; /** * @return 当前单元格的字体颜色 (默认 HSSFColor.BLACK.index) */ short color() default HSSFColor.BLACK.index; /** * 将单元格的值替换为当前配置的值:<br/> * 应用场景: <br/> * 密码字段导出为:"******" * * @return 默认true */ String replace() default ""; }///:~
常用的注解及其作用:
首先规则:以//: 开始,以///:~结束。
@author 作者名
@version 版本号
@since 指明需要最早使用的jdk版本
当然还有一些其他注解,例如在类的方法上:
第一步
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KM4q3tjI-1588690352155)(JavaSE.assets/(1)-1587978307833.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xUYqDcjT-1588690352158)(JavaSE.assets/(2).png)]
选择是整个项目还是模块还是单个文件
文档输出路径
Locale 选择地区,这个决定了文档的语言,中文就是zh_CN
传入JavaDoc的参数,一般这样写 -encoding UTF-8 -charset UTF-8 -windowtitle “文档HTML页面标签的标题” http://docs.Oracle.com/javase/7/docs/api
练习文件Demo01
package com.mza.Scanner; import java.util.Scanner; /** * Created by Leonardo on 2020/4/27. */ public class Demo01 { public static void main(String[] args) { //创建一个扫描器对象,用于接受键盘数据 Scanner scanner = new Scanner(System.in); System.out.println("使用next方式接收:"); //判断用户有没有输入字符串 if(scanner.hasNext()){ //使用next方式接收 String str = scanner.next(); System.out.println("输出的内容为:"+str); } //凡是属于IO流的类如果不关闭会一直占用资源,要养成好习惯用完就关掉 scanner.close(); } }
练习文件Demo02
package com.mza.Scanner; import java.util.Scanner; /** * Created by Leonardo on 2020/4/27. */ public class Demo02 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); //创建一个扫描器对象,用于接收键盘数据 System.out.println("使用nextLine方法接收:"); //判断用户有没有输入字符串 if (scanner.hasNextLine()){ //使用nextLine接受 String str = scanner.nextLine(); System.out.println("输出的内容为:"+str); } //凡是属于IO流的类如果不关闭会一直占用资源,要养成好习惯用完就关掉 scanner.close(); } }
练习文件Demo04
package com.mza.Scanner; import java.util.Scanner; /** * Created by Leonardo on 2020/4/27. */ public class Demo04 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); //从键盘接收数据 int i = 0; float f = 0.0f; System.out.println("请输入整数:"); //如果...那么 //判断用户有没有输入整数数据 if(scanner.hasNextInt()){ //接收输入的i i = scanner.nextInt(); System.out.println("整数数据" + i); }else{ System.out.println("输入的不是整数数据!"); } System.out.println("请输入小数:"); if(scanner.hasNextFloat()){ //接收输入的i f = scanner.nextFloat(); System.out.println("小数数据" + f); }else{ System.out.println("输入的不是小数数据!"); } scanner.close(); } }
练习文件Demo05//我们可以输入多个数字,并求其总和与平均数,每输入一个数字用回车确认,通过输入非数字来结束输入并输出执行结果
package com.mza.Scanner; import com.sun.scenario.effect.impl.sw.sse.SSEBlend_SRC_OUTPeer; import java.util.Scanner; /** * Created by Leonardo on 2020/4/27. */ public class Demo05 { public static void main(String[] args) { //我们可以输入多个数字,并求其总和与平均数,每输入一个数字用回车确认,通过输入非数字来结束输入并输出执行结果 Scanner scanner = new Scanner(System.in); //和 double sum = 0; //计算输入了多少个数字 int m = 0; //通过循环判断是否还有输入,并在里面对每一次进行求和和统计 while (scanner.hasNextDouble()){ double x = scanner.nextDouble(); m = m + 1; //m++ sum = sum + x; System.out.println("你输入了第" + m + "个数据,然后当前结果sum=" + sum); } System.out.println(m + "个数的和为" + sum); System.out.println(m + "个数的平均值是" + (sum / m)); scanner.close(); } }
练习文件SequenceDemo
package com.mza.struct;
/**
* Created by Leonardo on 2020/4/27.
* 顺序结构
*/
public class SequenceDemo {
public static void main(String[] args) {
System.out.println("hello1");
System.out.println("hello2");
System.out.println("hello3");
System.out.println("hello4");
System.out.println("hello5");
}
}
我们很多时候需要去判断一个东西是否可行,然后我们才去执行,这样一个过程在程序中用if语句来表示
语法:
if(布尔表达式){
//如果布尔表达式为true将执行的语句
}
练习文件IfDemo01
package com.mza.struct; import java.util.Scanner; /** * Created by Leonardo on 2020/4/27. */ public class IfDemo01 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.println("请输入内容"); String s = scanner.nextLine(); //equals:判断字符串是否相等 if (s.equals("Hello")){ System.out.println(s); } System.out.println("End"); scanner.close(); } }
if(布尔表达式){
//如果布尔表达式的值为true
}else{
//如果布尔表达式的值为false
}
练习文件IfDemo02//考试分数大于60就是及格,小于60就不及格
package com.mza.struct; import java.util.Scanner; /** * Created by Leonardo on 2020/4/27. */ public class IfDemo02 { public static void main(String[] args) { //考试分数大于60就是及格,小于60就不及格 Scanner scanner = new Scanner(System.in); System.out.println("请输入成绩:"); int score = scanner.nextInt(); if(score>=60){ System.out.println("恭喜,您的成绩及格!"); }else{ System.out.println("很遗憾,您的成绩不及格"); } scanner.close(); } }
if(布尔表达式1){
//如果布尔表达式1的值为true执行代码
}else if(布尔表达式2){
//如果布尔表达式2的值为true执行代码
}else if(布尔表达式3){
//如果布尔表达式3的值为true执行代码
}else{
//如果以上布尔表达式的值都不为true执行代码
}
练习文件IfDemo03//对各等级考试分数的判断
package com.mza.struct; import java.util.Scanner; /** * Created by Leonardo on 2020/4/27. */ public class IfDemo03 { public static void main(String[] args) { //对各等级考试分数的判断 Scanner scanner = new Scanner(System.in); /** * if语句至多有1个else语句,else语句在所有的else if语句之后 * if语句可以有若干个else if语句,它们必须在else语句之前 * 一旦其中一个else if语句检测为true,其它的else if已经else语句都将跳过执行 */ System.out.println("请输入成绩:"); int score = scanner.nextInt(); if (score==100){ System.out.println("恭喜,成绩满分!"); }else if (score < 100 && score >= 90){ System.out.println("优秀"); } else if(score < 90 && score >= 80){ System.out.println("良好"); } else if(score < 80 && score >= 70){ System.out.println("良"); } else if(score < 70 && score >= 60){ System.out.println("及格"); } else if(score < 60 && score >= 0){ System.out.println("不及格"); } else { //单独处理边界外不合理的情况 System.out.println("数据输入错误"); } scanner.close(); } }
if(布尔表达式1){
//如果布尔表达式1的值为true执行代码
if(布尔表达式2){
//如果布尔表达式2的值为true执行代码
}
}
多选择结构还有一个实现方式就是switch case语句
switch case语句来判断一个变量与一系列值中某个值是否相等,每个值称为一个分支
switch语句中的变量类型可以是
语法
switch(expression){
case value:
//语句
break; //可选(最好写上)
case value:
//语句
break; //可选(最好写上)
//你可以有任意数量的case语句
default: //可选
//语句
}
练习文件SwitchDemo01
package com.mza.struct; /** * Created by Leonardo on 2020/4/28. */ public class SwitchDemo01 { public static void main(String[] args) { //case穿透 //switch匹配一个具体的值 char grade = 'C'; switch(grade){ case 'A': System.out.println("优秀"); break; //可选 case 'B': System.out.println("良好"); break; case 'C': System.out.println("及格"); break; case 'D': System.out.println("再接再厉"); break; case 'E': System.out.println("挂科"); break; default: System.out.println("未知等级"); } } }
练习文件SwitchDemo02
package com.mza.struct; /** * Created by Leonardo on 2020/4/28. */ public class SwitchDemo02 { public static void main(String[] args) { String name = "张三"; //JDK7的新特性,表达式结果可以是字符串 //字符的本质还是数字 //反编译 Java---class(字节码文件)---反编译(IDEA) switch(name){ case"张三": System.out.println("张三"); break; case"李四": System.out.println("李四"); break; default: System.out.println("弄啥嘞!"); } } }
while(布尔表达式){
//循环内容
}
练习文件WhileDemo01(输出1~100)
package com.mza.struct; /** * Created by Leonardo on 2020/4/28. */ public class WhileDemo01 { public static void main(String[] args) { //输出1~100 int i = 0; while(i<100){ i++; System.out.println(i); } } }
练习文件WhileDemo02(死循环)
package com.mza.struct;
/**
* Created by Leonardo on 2020/4/28.
*/
public class WhileDemo02 {
public static void main(String[] args) {
//死循环
while (true){
//等待客户端连接
//定时检查
//......
}
}
}
练习文件WhileDemo03(计算1+2+3+…+100=?)
package com.mza.struct; /** * Created by Leonardo on 2020/4/28. */ public class WhileDemo03 { public static void main(String[] args) { //计算1+2+3+...+100=? int i = 0; int sum = 0; while(i<=100){ sum = sum +i; i++; } System.out.println(sum); } }
do{
//代码语句
}while(布尔表达式);
练习文件DoWhileDemo01
package com.mza.struct; /** * Created by Leonardo on 2020/4/28. */ public class DoWhileDemo01 { public static void main(String[] args) { int i = 0; int sum = 0; do { sum = sum + i; i++; }while (i<=100); System.out.println(sum); } }
练习文件DoWhileDemo02
package com.mza.struct; /** * Created by Leonardo on 2020/4/28. */ public class DoWhileDemo02 { public static void main(String[] args) { int a = 0; while (a<0){ System.out.println(a); a++; } System.out.println("============华丽的分割线============="); do { System.out.println(a); a++; }while ( a < 0 ); } }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。