42.Java基本语法-每天一考

1.JDK,JRE,JVM三者之间的关系,以及JDK、JRE包含的主要结构有哪些?
JDK = JRE + Java的开发工具(javac.exe,java.exe,javadoc.exe)
JRE = JVM + Java核心类库

2.为什么要配置path环境变量?如何配置?
JAVA_HOME = bin的上一层目录
path = %JAVA_HOME%\bin

3.常用的几个命令行操作都有哪些?(至少4个)
cd、md、rd、del、cd…、cd/

4.创建如下的类,使得运行的话可以输出:
创建java文件:ChairMan.java

 public class ChairMan{public static void main(String[] args){System.out.println("姓名:张三\n");////System.out.println();System.out.println("性别:男");System.out.println("家庭住址:中国");}}

5.编译和运行上述代码的指令
编译:javac ChairMan.java
运行:java ChairMan

43.Java基本语法-复习1
44.Java基本语法-复习2

45.Java基本语法-关键字和保留字

官方网站
关键字(keyword)的定义和特点
定义:被Java语言赋予了特殊含义,用做专门用途的字符串(单词)
特点:关键字中所有字母都为小写

Java保留字:现有Java版本尚未使用,但以后版本可能会作为关键字使 用。自己命名标识符时要避免使用这些保留字 goto 、const


46.Java基本语法-标识符及命名规范

标识符:
Java 对各种变量、方法和类等要素命名时使用的字符序列称为标识符
技巧:凡是自己可以起名字的地方都叫标识符。

定义合法标识符规则:
由26个英文字母大小写,0-9 ,_或 $ 组成
数字不可以开头。
不可以使用关键字和保留字,但能包含关键字和保留字。
Java中严格区分大小写,长度无限制。
标识符不能包含空格。
练习:miles, Test, a++, --a, 4#R, $4, #44, apps, class, public, int, x, y, radius

47.Java基本语法-标识符的命名规范

包名:多单词组成时所有字母都小写:xxxyyyzzz
类名、接口名:多单词组成时,所有单词的首字母大写:XxxYyyZzz
变量名、方法名:多单词组成时,第一个单词首字母小写,第二个单词开始每个 单词首字母大写:xxxYyyZzz
常量名:所有字母都大写。多单词时每个单词用下划线连接:XXX_YYY_ZZZ

注意1:在起名字时,为了提高阅读性,要尽量有意义,“见名知意”。
注意2:java采用unicode字符集,因此标识符也可以使用汉字声明,但是不建议使用。

48.Java基本语法-变量的定义

变量的概念:
内存中的一个存储区域
该区域的数据可以在同一类型范围内不断变化
变量是程序中最基本的存储单元。包含变量类型、变量名和存储的值

变量的作用:
用于在内存中保存数据

49.Java基本语法-定义变量的注意点

使用变量注意:
Java中每个变量必须先声明,后使用
使用变量名来访问这块区域的数据
变量的作用域:其定义所在的一对{ }内
变量只有在其作用域内才有效
同一个作用域内,不能定义重名的变量

声明变量
语法:<数据类型> <变量名称>,例如:int var;

变量的赋值
语法:<变量名称> = <值>,例如:var = 10;

声明和赋值变量
语法: <数据类型> <变量名> = <初始化值>,例如:int var = 10;

50.Java基本语法-变量的分类


51.Java基本语法-整型变量的使用说明

52.Java基本语法-浮点型变量的使用说明

53.Java基本语法-char变量的使用说明

54.Java基本语法-乱码的情况和字符集的说明

了解:ASCII 码
在计算机内部,所有数据都使用二进制表示。每一个二进制位(bit)有 0 和 1 两种状态, 因此 8 个二进制位就可以组合出 256 种状态,这被称为一个字节(byte)。一个字节一 共可以用来表示 256 种不同的状态,每一个状态对应一个符号,就是 256 个符号,从0000000 到 11111111。

ASCII码:上个世纪60年代,美国制定了一套字符编码,对英语字符与二进制位之间的 关系,做了统一规定。这被称为ASCII码。ASCII码一共规定了128个字符的编码,比如 空格“SPACE”是32(二进制00100000),大写的字母A是65(二进制01000001)。这 128个符号(包括32个不能打印出来的控制符号),只占用了一个字节的后面7位,最前 面的1位统一规定为0。

缺点:
不能表示所有字符。
相同的编码表示的字符不一样:比如,130在法语编码中代表了é,在希伯来语编码中却代表 了字母Gimel (ג)

了解: Unicode 编码
乱码:世界上存在着多种编码方式,同一个二进制数字可以被解释成不同的符号。因 此,要想打开一个文本文件,就必须知道它的编码方式,否则用错误的编码方式解读, 就会出现乱码。

Unicode:一种编码,将世界上所有的符号都纳入其中。每一个符号都给予一个独一无二的编码,使用 Unicode 没有乱码的问题。

Unicode 的缺点:Unicode 只规定了符号的二进制代码,却没有规定这个二进制代码 应该如何存储:无法区别 Unicode 和 ASCII:计算机无法区分三个字节表示一个符号 还是分别表示三个符号。另外,我们知道,英文字母只用一个字节表示就够了,如果 unicode统一规定,每个符号用三个或四个字节表示,那么每个英文字母前都必然有 二到三个字节是0,这对于存储空间来说是极大的浪费

了解: UTF-8
UTF-8 是在互联网上使用最广的一种 Unicode 的实现方式。

UTF-8 是一种变长的编码方式。它可以使用 1-6 个字节表示一个符号,根据不同的符号而变化字节长度。

UTF-8的编码规则:
对于单字节的UTF-8编码,该字节的最高位为0,其余7位用来对字符进行编码(等同于ASCII码)。
对于多字节的UTF-8编码,如果编码包含 n 个字节,那么第一个字节的前 n 位为1,第一 个字节的第 n+1 位为0,该字节的剩余各位用来对字符进行编码。在第一个字节之后的 所有的字节,都是最高两位为"10",其余6位用来对字符进行编码。

55.Java基本语法-boolean型变量的使用

boolean 类型用来判断逻辑条件,一般用于程序流程控制:
if条件控制语句;
while循环控制语句;
do-while循环控制语句;
for循环控制语句;

boolean类型数据只允许取值true和false,无null。
不可以使用0或非 0 的整数替代false和true,这点和C语言不同。
Java虚拟机中没有任何供boolean值专用的字节码指令,Java语言表达所操作的boolean值,在编译之后都使用java虚拟机中的int数据类型来代替:true用1表示,false用0表示。———《java虚拟机规范 8版》

56.Java基本语法-自动类型提升运算1

57.Java基本语法-自动类型提升运算2

此时的容量大小指的是,表示数的范围的大和小。比如float容量要大于long的容量

58.Java基本语法-强制类型转换运算

自动类型转换的逆过程,将容量大的数据类型转换为容量小的数据类型。使用时要加上强制转换符:(),但可能造成精度降低或溢出,格外要注意。
double d1 = 12.3;int i1 = (int)d1;

通常,字符串不能直接转换为基本类型,但通过基本类型对应的包装类则可 以实现把字符串转换成基本类型。
如: String a = “43”; int i = Integer.parseInt(a);
boolean类型不可以转换为其它的数据类型。

59.Java基本语法-变量运算规则的两个特殊情况

60.Java基本语法-String类型变量的使用

String不是基本数据类型,属于引用数据类型,翻译为:字符串
使用方式与基本数据类型一致。例如:String str = “abcd”;
一个字符串可以串接另一个字符串,也可以直接串接其他8种类型的数据,且运算只能是连接运算:+。例如:
str = str + “xyz” ;int n = 100; str = str + n;

61.Java基本语法-两个关于String的练习题


62.Java基本语法-String类型使用的强化说明


63.Java基本语法-不同进制的表示方式

所有数字在计算机底层都以二进制形式存在。

对于整数,有四种表示方式:
二进制(binary):0,1 ,满2进1.以0b或0B开头。
十进制(decimal):0-9 ,满10进1。
八进制(octal):0-7 ,满8进1. 以数字0开头表示。
十六进制(hex):0-9及A-F,满16进1. 以0x或0X开头表示。此处的A-F不区分大小写。 如:0x21AF +1= 0X21B0

64.Java基本语法-二进制转换为十进制的说明

Java整数常量默认是int类型,当用二进制定义整数时,其第32位是符号位; 当是long类型时,二进制默认占64位,第64位是符号位

二进制的整数有如下三种形式:
原码:直接将一个数值换成二进制数。最高位是符号位
负数的反码:是对原码按位取反,只是最高位(符号位)确定为1。
负数的补码:其反码加1。

计算机以二进制补码的形式保存所有的整数。
正数的原码、反码、补码都相同
负数的补码是其反码+1


65.Java基本语法-二进制转换为十进制的练习

66.Java基本语法-十进制转二进制的操作

67.Java基本语法-二进制与八进制十六进制间的转换



68.Java基本语法-每天一考

  1. 标识符的命名规则有哪些? 不遵守,编译不通过。

  2. 标识符的命名规范有哪些?不遵守,编译运行都可以通过
    包名:xxxyyyzzz
    类名、接口名:XxxYyyZzz
    变量名、方法名:xxxYyyZzz
    常量名:XXX_YYY_ZZZ

  3. Java变量按照数据类型怎么划分?并指出Java的基本数据类型有哪8种,并指出各自占用的内存空间大小
    byte short int long
    char
    float double
    boolean
    引用数据类型:类、接口、数组

  4. 说明基本数据类型变量之间自动类型提升的运算规则。
    byte、short、char -int long float double

  5. 说明基本数据类型变量之间强制类型转换的使用规则和强转可能出现的问题。
    容量大>容量小
    使用强转符:()
    精度损失。

69.Java基本语法-复习1
70.Java基本语法-复习2:变量的定义
71.Java基本语法-复习3:变量的运算规则
72.Java基本语法-复习3:算术运算符的使用1

73.Java基本语法-复习3:算术运算符的使用2

运算符是一种特殊的符号,用以表示数据的运算、赋值和比较等。

如果对负数取模,可以把模数负号忽略不记,如:5%-2=1。 但被模数是 负数则不可忽略。此外,取模运算的结果不一定总是整数。

对于除号“/”,它的整数除和小数除是有区别的:整数之间做除法时,只 保留整数部分而舍弃小数分。 例如:int x=3510;x=x/1000*1000; x的 结果是?

“+”除字符串相加功能外,还能把非字符串转换成字符串.例如:System.out.println(“5+5=”+5+5); //打印结果是? 5+5=55 ?

74.Java基本语法-算术运算符的练习
75.Java基本语法-关于敲代码和练指法

76.Java基本语法-赋值运算符的使用


77.Java基本语法-赋值运算符的课后练习

78.Java基本语法-比较运算符的使用

79.Java基本语法-逻辑运算符的使用说明

逻辑运算符用于连接布尔型表达式,在Java中不可以写成3<x<6,应该写成x>3 & x<6 。

“&”和“&&”的区别:
单&时,左边无论真假,右边都进行运算;
双&时,如果左边为真,右边参与运算,如果左边为假,那么右边不参与运算。

“|”和“||”的区别同理,||表示:当左边为真,右边不参与运算。

异或( ^ )与或( | )的不同之处是:当左右都为true时,结果为false。 理解:异或,追求的是“异”!。同假异真

80.Java基本语法-逻辑运算符的使用测试

81.Java基本语法-逻辑运算符的课后练习

82.Java基本语法-左移右移位运算符的使用

左移2位,在右侧填充2个0

在一定范围内
每左移一位,相当于*2
每右移一位,相当于/2

83.Java基本语法-其它位运算符的使用

84.Java基本语法-位运算符的练习

//方式一:定义临时变量的方式
//推荐的方式
//int temp = numl;
//num1 = num2;
//num2 = temp;//方式二:好处:不用定义临时变量
//弊端:1.相加操作可能超出存储范围
//2.有局限性:只能适用于数值类型
//num1 = num1 + num2;
//num2 = num1 - num2;
//num1 = num1 - num2;//方式三:使用位运算符
num1 = num1 А num2;
num2 = num1 * num2;
nun1 = num1 А num2;

85.Java基本语法-三元运算符的使用

表达式1和表达式2为同种类型

三元运算符与if-else的联系与区别:
1.三元运算符可简化if-else语句
2.三元运算符要求必须返回一个结果
3.if后的代码块可有多个语句

86.Java基本语法-三元运算符与if-else的转换

87.Java基本语法-运算符的优先级

88.Java基本语法-关于流程控制的说明

流程控制语句是用来控制程序中各语句执行顺序的语句,可以把语句组合成能完成一定功能的小逻辑模块。

其流程控制方式采用结构化程序设计中规定的三种基本流程结构,即:
顺序结构
分支结构
循环结构

89.Java基本语法-if-else结构的基本使用


90.Java基本语法-每日一考
91.Java基本语法-复习1:算术与比较运算符
92.Java基本语法-复习2:比较与逻辑运算符
93.Java基本语法-复习3:位运算符与三元运算符

94.Java基本语法-使用Scanner从键盘获取int型数据

95.Java基本语法-使用Scanner从键盘获取多种类型数据

String name = scan.next();
System.out.println(name);System.out.println(“请输入你的芳龄:“);
int age = scan.nextInt();
System.out.println(age);System.out.println("请输入你的体重:");
double weight = scan.nextDouble();
System.out.println(weight);System.out.println("你是否相中我了呢?(true/false)");
boolean isLove = scan.nextBoolean();
System.out.println(isLove);//对于char型的获取,Scanner没有提供相关的方法。只能获取一个字符串
System.out.println("请输入你的性别:(男/女)");
String gender=scan.next();//"男"
char genderChar=gender.charAt(0);//获取素引为a位置上的字符
System.out.println(genderChar);

96.Java基本语法-if-else的例题1
97.Java基本语法-if-else的例题2

98.Java基本语法-if-else课后练习1:笔试题

//对下列代码,若有输出,指出输出结果
int x = 4;
int y = 1;
if (x > 2) {if (y > 2)System.out.println(x + y);  System.out.println("atguigu");
} else
System.out.println("x is " + x);/**因为if (x > 2) 判断通过
if (y > 2)判断不通过
因为省略了大括号,默认只能照顾System.out.println(x + y);
所以输出的语句为:System.out.println("atguigu");
**/
boolean b = true;
//如果写成if(b=false)能编译通过吗?如果能,结果是?
if(b == false)System.out.println("a");
else if(b)System.out.println("b");
else if(!b)System.out.println("c");
elseSystem.out.println("d");/**先输出b
如果写成if(b=false)能编译通过吗?如果能,结果是?
能编译通过,结果是c,因为if(b = false)
**/

99.Java基本语法-if-else课后练习2:狗的年龄

100.Java基本语法-if-else课后练习3:彩票问题

假设你想开发一个玩彩票的游戏,程序随机地产生一个两位数的彩票,提示用户输入一个两位数,然后按照下面的规则判定用户是否能赢。
1.如果用户输入的数匹配彩票的实际顺序,奖金10 000美元。
2.如果用户输入的所有数字匹配彩票的所有数字,但顺序不一致,奖金 3 000美元。
3.如果用户输入的一个数字仅满足顺序情况下匹配彩票的一个数字,奖金1 000美元。
4.如果用户输入的一个数字仅满足非顺序情况下匹配彩票的一个数字,奖金500美元。
5.如果用户输入的数字没有匹配任何一个数字,则彩票作废。

提示:使用(int)(Math.random() * 90 + 10)产生随机数。 Math.random() : [0,1) * 90 ->[0,90) + 10 ->[10,100) ->[10,99]

//课后练习4:如何获取一个随机数:10 - 99
int value = (int)(Math.random() * 90 + 10);
// [0.0,1.0) --> [0.0,90.0) --->[10.0, 100.0) -->[10,99]
System.out.println(value);
//公式:[a,b]  :  (int)(Math.random() * (b - a + 1) )+ a

101.Java基本语法-if-else课后练习4:高富帅

/*
大家都知道,男大当婚,女大当嫁。那么女方家长要嫁女儿,当然要提出一定的条件:
高:180cm以上;富:财富1千万以上;帅:是。
如果这三个条件同时满足,则:“我一定要嫁给他!!!”
如果三个条件有为真的情况,则:“嫁吧,比上不足,比下有余。”
如果三个条件都不满足,则:“不嫁!”
*/import java.util.Scanner;class IfExer1 {public static void main(String[] args) {Scanner scan = new Scanner(System.in);System.out.println("请输入你的身高:(cm)");int height = scan.nextInt();System.out.println("请输入你的财富:(千万)");double wealth = scan.nextDouble();/*方式一:System.out.println("请输入你是否帅:(true/false)");boolean isHandsome = scan.nextBoolean();if(height >= 180 && wealth >= 1 && isHandsome){System.out.println("我一定要嫁给他!!!");}else if(height >= 180 || wealth >= 1 || isHandsome){System.out.println("嫁吧,比上不足,比下有余。");}else{System.out.println("不嫁!");}*///方式二:System.out.println("请输入你是否帅:(是/否)");String isHandsome = scan.next();if(height >= 180 && wealth >= 1 && isHandsome.equals("是")){System.out.println("我一定要嫁给他!!!");}else if(height >= 180 || wealth >= 1 || isHandsome.equals("是")){System.out.println("嫁吧,比上不足,比下有余。");}else{System.out.println("不嫁!");}}
}

102.Java基本语法-switch-case结构的基本使用

103.Java基本语法-switch-case结构的使用说明

switch(表达式)中表达式的值必须是下述几种类型之一:byte,short,char,int,枚举 (jdk 5.0新增),String (jdk 7.0);
case子句中的值必须是常量,不能是变量名或不确定的表达式值;
同一个switch语句,所有case子句中的常量值互不相同;
break语句用来在执行完一个case分支后使程序跳出switch语句块;如果没有break,程序会顺序执行到switch结尾
default子句是可任选的。同时,位置也是灵活的。当没有匹配的case时,执行default

说明:
①根据switch表达式中的值,依次匹配各个case中的常量。一旦匹配成功,则进入相应case结构中,调用其执行语句。当调用完执行语句以后,则仍然继续向下执行其他case结构中的执行语句,直到遇到break关键字或此switch-case结构末尾结束为止。
②break,可以使用在switch-case结构中,表示一旦执行到此关键字,就跳出switch-case结构
③ switch结构中的表达式,只能是如下的6种数据类型之一:byte、short、char、int、枚举类型(JDK5.0新增)、String类型(JDK7.0新增)
④ case 之后只能声明常量。不能声明范围。

104.Java基本语法-switch-case的例题1

1.使用 switch 把小写类型的 char型转为大写。只转换 a, b, c, d, e. 其它的输出 “other”。
提示:String word = scan.next(); char c = word.charAt(0); switch©{}

2.对学生成绩大于60分的,输出“合格”。低于60分的,输出“不合格”。

/*
例题:对学生成绩大于60分的,输出“合格”。低于60分的,输出“不合格”。说明:如果switch-case结构中的多个case的执行语句相同,则可以考虑进行合并。
*/
class SwitchCaseTest1 {public static void main(String[] args) {/*int score = 78;switch(score){case 0:case 1:case 2:...case 100:    }int score = 78;if(score >= 60){       }else{}*/int score = 78;switch(score / 10){case 0:case 1:case 2:case 3:case 4:case 5:System.out.println("不及格");break;case 6:case 7:case 8:case 9:case 10:System.out.println("及格");break;}//更优的解决方案:switch(score / 60){case 0:System.out.println("不及格");break;case 1:System.out.println("及格");break;}    }
}

105.Java基本语法-switch-case的例题2

1.根据用于指定月份,打印该月份所属的季节。
3,4,5 春季 6,7,8 夏季 9,10,11 秋季 12, 1, 2 冬季

2.编写程序:从键盘上输入2019年的“month”和“day”,要求通过程序 输出输入的日期为2019年的第几天。

/*
编写程序:从键盘上输入2019年的“month”和“day”,要求通过程序输出输入的日期为2019年的第几天。2  15:  31 + 15
5 7: 31 + 28 + 31 + 30 + 7
....说明:break在switch-case中是可选的
*/
import java.util.Scanner;
class SwitchCaseTest2 {public static void main(String[] args) {//默认用户输入全部合法Scanner scan = new Scanner(System.in);System.out.println("请输入2019年的month:");int month = scan.nextInt();System.out.println("请输入2019年的day:");int day = scan.nextInt();//定义一个变量来保存总天数int sumDays = 0;//方式一:冗余/*if(month == 1){sumDays = day;}else if(month == 2){sumDays = 31 + day;}else if(month == 3){sumDays = 31 + 28 + day;}else if(month == 4){sumDays = 31 + 28 + 31 + day;}//...else{//month == 12//sumDays = ..... + day;}*///方式二:冗余/*switch(month){case 1:sumDays = day;break;case 2:sumDays = 31 + day;break;case 3:sumDays = 31 + 28 + day;break;...}*///break语句用来在执行完一个case分支后使程序跳出switch语句块;如果没有break,程序会顺序执行到switch结尾switch(month){case 12:sumDays += 30;case 11:sumDays += 31;case 10:sumDays += 30;case 9:sumDays += 31;case 8:sumDays += 31;case 7:sumDays += 30;case 6:sumDays += 31;case 5:sumDays += 30;case 4:sumDays += 31;case 3:sumDays += 28;case 2:sumDays += 31;case 1:sumDays += day;}System.out.println("2019年" + month + "月" + day + "日是当年的第" + sumDays + "天");}
}

106.Java基本语法-switch-case课后练习:日期积累

从键盘分别输入年、月、日,判断这一天是当年的第几天

注:判断一年是否是闰年的标准:
可以被4整除,但不可被100整除或可以被400整除

/*
从键盘分别输入年、月、日,判断这一天是当年的第几天注:判断一年是否是闰年的标准:1)可以被4整除,但不可被100整除或2)可以被400整除说明:
1. 凡是可以使用switch-case的结构,都可以转换为if-else。反之,不成立。
2. 我们写分支结构时,当发现既可以使用switch-case,(同时,switch中表达式的取值情况不太多),
又可以使用if-else时,我们优先选择使用switch-case。原因:switch-case执行效率稍高。*/
import java.util.Scanner;
class SwitchCaseExer {public static void main(String[] args) {Scanner scan = new Scanner(System.in);System.out.println("请输入year:");int year = scan.nextInt();System.out.println("请输入month:");int month = scan.nextInt();System.out.println("请输入day:");int day = scan.nextInt();//定义一个变量来保存总天数int sumDays = 0;switch(month){case 12:sumDays += 30;case 11:sumDays += 31;case 10:sumDays += 30;case 9:sumDays += 31;case 8:sumDays += 31;case 7:sumDays += 30;case 6:sumDays += 31;case 5:sumDays += 30;case 4:sumDays += 31;case 3://sumDays += 28;//判断year是否是闰年if((year % 4 == 0 && year % 100 != 0 ) || year % 400 == 0){sumDays += 29;}else{sumDays += 28;}case 2:sumDays += 31;case 1:sumDays += day;}System.out.println(year + "年" + month + "月" + day + "日是当年的第" + sumDays + "天");}
}

107.Java基本语法-switch-case课与if-else转换说明

  • 凡是可以使用switch-case的结构,都可以转换为if-else。反之,不成立。
  • 我们写分支结构时,当发现既可以使用switch-case,(同时,switch中表达式的取值情况不太多),又可以使用if-else时,我们优先选择使用switch-case
  • 原因:switch-case执行效率稍高

108.Java基本语法-s循环结构及for循环的理解

循环结构:在某些条件满足的情况下,反复执行特定代码的功能

循环语句分类
for 循环
while 循环
do-while 循环


109.Java基本语法-for循环结构的使用

int num = 1;
for(System.out.print('a');num <= 3;System.out.print('c'),num++){System.out.print('b');
}
//输出结果:abcbcbc
//System.out.print('c'),num++为迭代条件,每次for循环执行一次
//个人认为这里这么写没什么意义,因为完全可以写到循环体里面,可能有其它更合适的应用场景吧

110.Java基本语法-for循环的例题

111.Java基本语法-每天一考

1.switch后面使用的表达式可以是哪些数据类型的。
byte 、 short 、char 、int 、枚举类型变量、String类型。

2.使用switch语句改写下列if语句:

 int a = 3;int x = 100;if(a==1)x+=5;else if(a==2)x+=10;else if(a==3)x+=16;else     x+=34;int a = 3;
int x = 100;
switch(a){case 1:x+=5;break;
case 2:x+=10;break;
case 3:x+=16;break;
default:x+=34;//break;
}

3.谈谈你对三元运算符、if-else和switch-case结构使用场景的理解

int c;
if(a != b){c = a;
}else{c = b;
}int c = (a != b)? a : b;int c = a;

4.如何从控制台获取String和int型的变量,并输出?使用代码实现

import java.util.Scanner;
Scanner scan = new Scanner(System.in);String info = scan.next();
int id = scan.nextInt();
  1. 使用for循环遍历100以内的奇数,并计算所有的奇数的和并输出。
int sum = 0;
for(int i = 1;i <= 100;i++){if(i % 2 != 0){Sysout(i);sum += i;}
}
syout(sum);

112.Java基本语法-复习

113.Java基本语法-for循环的例题

题目:输入两个正整数m和n,求其最大公约数和最小公倍数。
比如:12和20的最大公约数是4,最小公倍数是60。
说明:break关键字的使用

import java.util.Scanner;
class ForTest{public static void main(String[] args){Scanner scan = new Scanner(System.in);System.out.println("请输入第一个正整数:");int m = scan.nextInt();System.out.println("请输入第二个正整数:");int n = scan.nextInt();//获取最大公约数//1.获取两个数中的较小值int min = (m <= n)? m : n;//2.遍历for(int i = min;i >= 1 ;i--){if(m % i == 0 && n % i == 0){System.out.println("最大公约数为:" + i);break;//一旦在循环中执行到break,就跳出循环,直接跳出for}}//获取最小公倍数//1.获取两个数中的较大值int max = (m >= n)? m : n;//2.遍历for(int i = max;i <= m * n;i++){if(i % m == 0 && i % n == 0){             System.out.println("最小公倍数:" + i);break;           }}      }
}

114.Java基本语法-for循环课后练习

115.Java基本语法-while循环的基本使用

/*
①
while(②){③;④;
}执行过程:① - ② - ③ - ④ - ② - ③ - ④ - ... - ②说明:
1.写while循环千万小心不要丢了迭代条件。一旦丢了,就可能导致死循环!
2.我们写程序,要避免出现死循环。
3.for循环和while循环是可以相互转换的! 区别:for循环和while循环的初始化条件部分的作用范围不同。算法:有限性。*/
class  WhileTest{public static void main(String[] args) {//遍历100以内的所有偶数int i = 1;while(i <= 100){if(i % 2 == 0){System.out.println(i);}i++;}//出了while循环以后,仍可以调用。System.out.println(i);//101}
}

116.Java基本语法-do-while循环的基本使用

/*
do-while循环的使用一、循环结构的4个要素
① 初始化条件
② 循环条件  --->是boolean类型
③ 循环体
④ 迭代条件二、do-while循环结构:①
do{③;④;}while(②);执行过程:① - ③ - ④ - ② - ③ - ④ - ... - ②说明:
1.do-while循环至少会执行一次循环体!
2.开发中,使用for和while更多一些。较少使用do-while*/
class DoWhileTest {public static void main(String[] args) {//遍历100以内的偶数,并计算所有偶数的和及偶数的个数int num = 1;int sum = 0;//记录总和int count = 0;//记录个数do{if(num % 2 == 0){System.out.println(num);sum += num;count++;}num++;}while(num <= 100);System.out.println("总和为:" + sum);System.out.println("个数为:" + count);//*************体会do-while至少执行一次循环体***************int number1 = 10;while(number1 > 10){System.out.println("hello:while");number1--;}int number2 = 10;do{System.out.println("hello:do-while");number2--;}while(number2 > 10);}
}

117.Java基本语法-while(true)结构的使用

/*
题目:
从键盘读入个数不确定的整数,并判断读入的正数和负数的个数,输入为0时结束程序。说明:
1. 不在循环条件部分限制次数的结构:for(;;) 或 while(true)
2. 结束循环有几种方式?方式一:循环条件部分返回false方式二:在循环体中,执行break
*/import java.util.Scanner;class ForWhileTest {public static void main(String[] args) {Scanner scan = new Scanner(System.in);int positiveNumber = 0;//记录正数的个数int negativeNumber = 0;//记录负数的个数for(;;){//while(true){int number = scan.nextInt();//判断number的正负情况if(number > 0){positiveNumber++;}else if(number < 0){negativeNumber++;}else{//一旦执行break,跳出循环break;}}System.out.println("输入的正数个数为:" + positiveNumber);System.out.println("输入的负数个数为:" + negativeNumber);       }
}

118.Java基本语法-嵌套循环的使用1

将一个循环放在另一个循环体内,就形成了嵌套循环。其中,for ,while ,do…while均可以作为外层循环内层循环

实质上,嵌套循环就是把内层循环当成外层循环的循环体。当只有内层循环的 循环条件为false时,才会完全跳出内层循环,才可结束外层的当次循环,开 始下一次的循环。

设外层循环次数为m次,内层为n次,则内层循环体实际上需要执行m*n次。

/*
嵌套循环的使用
1.嵌套循环:将一个循环结构A声明在另一个循环结构B的循环体中,就构成了嵌套循环2.
外层循环:循环结构B
内层循环:循环结构A3. 说明
① 内层循环结构遍历一遍,只相当于外层循环循环体执行了一次
② 假设外层循环需要执行m次,内层循环需要执行n次。此时内层循环的循环体一共执行了m * n次4. 技巧:外层循环控制行数,内层循环控制列数
*/
class ForForTest {public static void main(String[] args) {//******//System.out.println("******");for(int i = 1;i <= 6;i++){System.out.print('*');}System.out.println("\n");/**************************/for(int j = 1;j <= 4;j++ ){for(int i = 1;i <= 6;i++){System.out.print('*');}System.out.println();}/*            i(行号)       j(*的个数)*            1           1**         2           2***            3           3****       4           4*****      5           5*/for(int i = 1;i <= 5;i++){//控制行数for(int j = 1;j <= i;j++){//控制列数System.out.print("*");}System.out.println();}/*          i(行号)       j(*的个数)   规律:i + j = 5 换句话说:j = 5 - i;****     1           4***            2           3**         3           2*          4           1*/ for(int i = 1;i <= 4;i++){for(int j = 1;j <= 5 - i;j++){System.out.print("*");  }System.out.println();}/***************************///略/*----*
---* *
--* * *
-* * * *
* * * * * * * * * * * * * * * *///上半部分//下半部分}
}

119.Java基本语法-嵌套循环的使用2

120.Java基本语法-嵌套循环练习:九九乘法表

/*
嵌套循环的应用1:九九乘法表
1 * 1 = 1
2 * 1 = 2  2 * 2 = 4
。。。
9 * 1 = 9 。。。 9 * 9 = 81*/
class NineNineTable {public static void main(String[] args) {for(int i = 1;i <= 9;i++){for(int j = 1;j <= i;j++){System.out.print(i + " * " + j + " = " + (i * j) + "  ");}System.out.println();}}
}

121.Java基本语法-质数输出的实现方式一

/*
100以内的所有质数的输出。
质数:素数,只能被1和它本身整除的自然数。-->从2开始,到这个数-1结束为止,都不能被这个数本身整除。最小的质数是:2
*/
class PrimeNumberTest {public static void main(String[] args) {boolean isFlag = true;//标识i是否被j除尽,一旦除尽,修改其值for(int i = 2;i <= 100;i++){//遍历100以内的自然数for(int j = 2;j < i;j++){//j:被i去除if(i % j == 0){ //i被j除尽isFlag = false;}}//if(isFlag == true){System.out.println(i);}//重置isFlagisFlag = true;}}
}

122.Java基本语法-质数输出的算法优化一

/*
100000以内的所有质数的输出。实现方式一
质数:素数,只能被1和它本身整除的自然数。-->从2开始,到这个数-1结束为止,都不能被这个数本身整除。对PrimeNumberTest.java文件中质数输出问题的优化
*/
class PrimeNumberTest1 {public static void main(String[] args) {boolean isFlag = true;//标识i是否被j除尽,一旦除尽,修改其值int count = 0;//记录质数的个数//获取当前时间距离1970-01-01 00:00:00 的毫秒数long start = System.currentTimeMillis();for(int i = 2;i <= 100000;i++){//遍历100000以内的自然数//优化二:对本身是质数的自然数是有效的。//for(int j = 2;j < i;j++){for(int j = 2;j <= Math.sqrt(i);j++){//j:被i去除if(i % j == 0){ //i被j除尽isFlag = false;break;//优化一:只对本身非质数的自然数是有效的。}}//if(isFlag == true){//System.out.println(i);count++;}//重置isFlagisFlag = true;}//获取当前时间距离1970-01-01 00:00:00 的毫秒数long end = System.currentTimeMillis();System.out.println("质数的个数为:" + count);System.out.println("所花费的时间为:" + (end - start));//17110 - 优化一:break:1546 - 优化二:13}
}

123.Java基本语法-质数输出的算法优化二

124.Java基本语法-break和continue的基本使用


/*
break和continue关键字的使用使用范围            循环中使用的作用(不同点)       相同点
break:          switch-case         循环结构中           结束当前循环                  关键字后面不能声明执行语句   continue:       循环结构中           结束当次循环                  关键字后面不能声明执行语句*/
class BreakContinueTest {public static void main(String[] args) {for(int i = 1;i <= 10;i++){if(i % 4 == 0){break;//123//continue;//123567910//System.out.println("今晚迪丽热巴要约我!!!");}System.out.print(i);}System.out.println("\n");//******************************label:for(int i = 1;i <= 4;i++){for(int j = 1;j <= 10;j++){if(j % 4 == 0){//break;//默认跳出包裹此关键字最近的一层循环。//continue;//break label;//结束指定标识的一层循环结构continue label;//结束指定标识的一层循环结构当次循环}System.out.print(j);}System.out.println();}}
}

125.Java基本语法-带标签的break和continue的使用

126.Java基本语法-质数输出的实现方式二


/*
100000以内的所有质数的输出。实现方式二
质数:素数,只能被1和它本身整除的自然数。-->从2开始,到这个数-1结束为止,都不能被这个数本身整除。对PrimeNumberTest.java文件中质数输出问题的优化
*/
class PrimeNumberTest2 {public static void main(String[] args) {int count = 0;//记录质数的个数//获取当前时间距离1970-01-01 00:00:00 的毫秒数long start = System.currentTimeMillis();label:for(int i = 2;i <= 100000;i++){//遍历100000以内的自然数for(int j = 2;j <= Math.sqrt(i);j++){//j:被i去除if(i % j == 0){ //i被j除尽continue label;}}//能执行到此步骤的,都是质数count++;}//获取当前时间距离1970-01-01 00:00:00 的毫秒数long end = System.currentTimeMillis();System.out.println("质数的个数为:" + count);System.out.println("所花费的时间为:" + (end - start));//17110 - 优化一:break:1546 - 优化二:13}
}

127.Java基本语法-项目一的演示
128.Java基本语法-项目一中Utility工具类的说明
129.Java基本语法-项目一整体框架的搭建
130.Java基本语法-项目一退出功能的实现
131.Java基本语法-项目一收支明细功能的实现
132.Java基本语法-项目二登记收入功能的实现
133.Java基本语法-项目一登记支出功能的实现

【JavaSE】基本语法(42~133)相关推荐

  1. JavaSE基础语法-笔记

    基础语法 注释 1.单单行注释 //Java单行注释 2.多行注释 /*多行注释..... */ 3.文档注释 /**文档注释 */ 标识符 1.关键字 abstract assert boolean ...

  2. 通俗易懂解决,JavaSE基础语法

    2.1 注释(annotation)(掌握) 注释:就是对代码的解释和说明.其目的是让人们能够更加轻松地了解代码.为代码添加注释,是十分必须要的,它不影响程序的编译和运行. Java中有单行注释.多行 ...

  3. java运算符试题,编程语⾔⾯试题之新版javase基础语法篇之运算符

    简介:⾯试中 短路运算符 和 位运算考点:计算机基础运算知识 难度[** *] 你知道 运算符 &和&&.|和||的区别吗? ``` & 按位与操作 只有对应的两个⼆进 ...

  4. JavaSE基础语法中的修饰符

    访问修饰符: 公共的 public 受保护的 protected 默认的 私有的 private 非访问修饰符: 静态修饰符 static final: 修饰类时,该类不能被继承 修饰方法时,该方法不 ...

  5. 重生之我是javaの神之修炼练气功法之javase基础语法

    类的定义规则:每个单词的首字母大写,类名和文件名保持一致,见名知意. 标识符命名规范 1.只能以字母$下划线开头,以这三者和数字组成. 2.不能出现java关键字 3.不能出现中文 多行注释和文档注释 ...

  6. javase基础socket编程之局域网聊天,局域网文件共享

    2017年06月04日  23点25分 javase基础学完可以做什么,javase实现局域网聊天室 包含内容:基础语法,面向对象,多线程,IO流,GUI编程,网络编程(udp) 实现功能:局域网群聊 ...

  7. Java基础部分 阶段一(语法基础)1、开发环境搭建(计算机编程及开发语言)

    day01 一.编程基础 计算机=硬件+软件 软件分为:系统软件.应用软件 软件开发:使用编程语言进行编写能够实现若干功能的应用. (1)编译型(直接二进制) 优点:执行效率高 缺点:平台依赖重,跨平 ...

  8. 大数据基础篇~JavaSE第三章

    一.JavaSE 基础语法学习 1.关键字 在java里面有特殊含义的单词如 class ,好比int是用来定义整型数据,它已经被java官方使用了,你就没有办法在使用了. 注意:后面我们学习中会慢慢 ...

  9. Java语法基本概念

    Java语法基本概念 概述 程序的概念 关键字和保留字 关键字 修饰符 非修饰符 保留字 语法意义 常见关键字(保留字) Java关键字大全 注释 什么是注释 注释的语法 单行注释语法 多行注释语法 ...

最新文章

  1. scroll-view实现自定义下拉刷新
  2. 搜索引擎语法简介 google shodan censys zoomeye fofa dnsdb
  3. python:BeautifulSoup 模块使用指南
  4. C++ 模板:template
  5. 如何将瀑布流里的图片加链接_「魔幻瀑布」180度全景接片+曝光合成!
  6. Android GooglePay 填坑录
  7. mac下Clion与QT引入FFmpeg库
  8. Android and Apple 投屏至linux电脑
  9. 根据分隔符将一个长字符串分割保存到动态数组中
  10. Java垃圾回收机制知识点总结
  11. photoshop-photoshop记录
  12. From表单邮箱后缀提示
  13. 三维立体动画制作技巧
  14. 基于RNN的序列化推荐系统总结
  15. LTE CA下的频点计算
  16. android checkbox 文字和图标间距,CheckBox选择框和文字设置间距
  17. OpenCV4学习笔记(58)——二维码检测与识别
  18. 日本“实体店”如何打败“互联网”?
  19. 基于Java毕业设计影片推荐系统源码+系统+mysql+lw文档+部署软件
  20. 写给计算机专业的本科生

热门文章

  1. maven依赖加载失败的解决办法
  2. 我的世界java服核心下载_我的世界java版
  3. gemfire demo
  4. CString——Left、Right、Find、ReverseFind
  5. Android仿微信发送语音消息动态提示,支持上滑取消发送
  6. flyway数据库表自动同步更新
  7. LoRa开发1:LoRa设计10问
  8. appium+华为鸿蒙手机自动化(环境配置)
  9. mysql tcmalloc_技术分享 | tcmalloc解决mysqld实例引发的cpu过高问题
  10. 《千手数学出题助手》使用说明书