




If01.java
//if的快速入门
import java.util.Scanner;
public class If01 {
//编写一个main方法
public static void main(String[] args) {
//编写一个程序,可以输入人的年龄,如果该同志的年龄大于18岁,
//则输出“你年龄大于18岁,要对自己的行为负责,送入监狱”
//思路分析
//1.接收输入的年龄,应该定义一个Scanner对象
Scanner myScanner = new Scanner(System.in);
System.out.println("请输入年龄");
//2.把年龄保存到一个变量 int age
int age = myScanner.nextInt();
//3.使用if 判断,输入对应信息
if(age > 18) {
System.out.println("你年龄大于18岁,要对自己的行为负责,送入监狱");
}
System.out.println("程序继续...");
}
}


If02.java
//if-else的快速入门
import java.util.Scanner;
public class If02 {
public static void main(String[] args) {
//编写一个程序,可以输入人的年龄,如果该同志的年龄大于18岁,
//则输出“你年龄大于18岁,要对自己的行为负责,送入监狱”,否则输出“你的年龄不大放过你了”
//思路分析
//1.接收输入的年龄,应该定义一个Scanner对象
Scanner myScanner = new Scanner(System.in);
System.out.println("请输入年龄");
//2.把年龄保存到一个变量 int age
int age = myScanner.nextInt();
//3.使用if-else 判断,输入对应信息
if(age > 18){
System.out.println("你年龄大于18岁,要对自己的行为负责,送入监狱");
}else{//双分支
System.out.println("你的年龄不大放过你了");
}
}
}

IfExercise01.java
//单分支和双分支的练习
import java.util.Scanner;
public class IfExercise01 {
public static void main(String[] args) {
//编写程序,声明2个double型变量并赋值。
//判断第一个数大于10.0,且第2个数小于20.0,打印两数之和
double a = 11.12;
double b = 18.23;
if(a > 10.0 && b < 20.0){
System.out.println("两个数的和是" + (a + b));
}
System.out.println("\n------------------------");
//定义两个变量int,判断两者的和,是否能被3又能被5整除,打印提示信息
int num1 = 10;
int num2 = 5;
int sum = num1 + num2;
if(sum % 3 == 0 && sum % 5 == 0){
System.out.print("和能被3又能被5整除");
}else{
System.out.println("和不能被3也不能被5整除");
}
System.out.println("\n------------------------");
//判断一个年份是否是闰年,闰年的条件是符合下面二者之一:
//(1)年份能被4整除,但不能被100整除;(2)能被400整除
Scanner myScanner = new Scanner(System.in);
System.out.println("请输入年份");
int year = myScanner.nextInt();
if((year % 4 ==0 && year % 100 != 0) || year % 400 == 0){
System.out.println(year + "年为闰年");
}else{
System.out.println(year + "年不是闰年");
}
}
}



If03.java
import java.util.Scanner;
public class If03 {
public static void main(String[] args){
Scanner myScanner = new Scanner(System.in);
System.out.println("请输入保国同志的芝麻信用分:");
//假设信用分数为整数
//思考输入的不是整数,而是hello...怎么做??可以使用异常处理机制搞定
int mark = myScanner.nextInt();
//先对输入的信用分进行一个范围的有效判断1-100,否则提示输入错误
if(mark >= 1 && mark <= 100){
if(mark == 100){
System.out.println("信用极好");
}else if(mark > 80 && mark <= 99){
System.out.println("信用优秀");
}else if(mark >= 60 && mark <= 80){
System.out.println("信用一般");
}else{
System.out.println("信用不及格");
}
}else{
System.out.println("信用分需要在1-100,请重新输入:)");
}
}
}




NestedIf.java
import java.util.Scanner;
public class NestedIf {
public static void main(String[] args) {
//思路分析
//1.创建Scanner对象,接收用户输入
//2.接收成绩保存到 double score
//3.使用 if-else 判断如果初赛成绩大于8.0进入决赛,否则提示淘汰
//4.如果进入到决赛,再接收char gender,使用if-else输出信息
Scanner myScanner = new Scanner(System.in);
System.out.println("请输入你的成绩:");
double score = myScanner.nextDouble();
if(score > 8.0){
System.out.println("恭喜你进入决赛!");
System.out.println("请输入你的性别:");
char gender = myScanner.next().charAt(0);
if(gender == '男'){
System.out.println("你被分到了男子组");
}else if(gender == '女'){
System.out.println("你被分到了女子组");
}else{
System.out.println("你的性别有误,不能参加比赛");
}
}else{
System.out.println("你被淘汰了,下次要努力哦~");
}
}
}</pre>

Homework01.java
import java.util.Scanner;
public class Homework {
public static void main(String[] args){
//思路分析
//1.淡旺季-if-else
//2.在旺季中,可以使用多分支处理三种情况
//3.在淡季中,使用双分支处理两种情况
Scanner myScanner = new Scanner(System.in);
System.out.println("请输入月份:");
int mouth = myScanner.nextInt();
System.out.println("请输入年龄:");
int age = myScanner.nextInt();
if(mouth >= 4 && mouth <= 10){
System.out.println("这是旺季");
if(age >= 18 && age <= 60){
System.out.println("你是成人,票价为60");
}else if(age < 18){
System.out.println("你是儿童,票价为30");
}else if(age > 60){
System.out.println("你是老人,票价为20");
}
}else{
System.out.println("这是淡季");
if(age >= 18){
System.out.println("你是成人,票价为40");
}else{
System.out.println("你的票价为20");
}
}
}
}




Switch01.java
import java.util.Scanner;
public class Switch01 {
public static void main(String[] args) {
//思路分析
//1.接受一个字符,创建Scanner对象
//2.使用switch来完成匹配,并输出对应信息
Scanner myScanner = new Scanner(System.in);
System.out.println("请输入一个字符(a-g)");
char c1 = myScanner.next().charAt(0);
//在java中,只要是有值返回,就是一个表达式
switch(c1) {
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;
case 'f' :
System.out.println("今天是星期六");
break;
case 'g' :
System.out.println("今天是星期日");
break;
default :
System.out.println("你输入的字符不正确,没有匹配");
}
System.out.println("退出了switch,继续执行程序");
}
}

SwitchDetail.java
public class SwitchDetail {
public static void main(String[] args){
//细节1
//表达式数据类型,应和case后的常量类型一致。
//或者是可以自动转成可以相互比较的类型,比如输入的字符,而常量是int
char c = 'a';
switch(c) {
case 'a' :
System.out.println("ok1");
break;
case 'b' :
// case 20 ://正确:char可以自动转换为int
// case "hello" ://错误: 不兼容的类型: String无法转换为char
System.out.println("ok2");
break;
default :
System.out.println("ok3");
}
//细节2
//switch(表达式)中表达式的返回值必须是:(byte,short,int,char,enum,String)
// double d = 1.1;(错误)
// switch(d) {
// case 1.1 :
// System.out.println("ok1");
// break;
// case 2.1 :
// System.out.println("ok2");
// break;
// default :
// System.out.println("ok3");
// }
// 细节3
// case子句中的值必须是常量(1...,'a'...),而不能是变量
// char e = 'a';
// switch(e) {
// case e ://错误:需要常量表达式
// System.out.println("ok1");
// break;
// case 'b';/正确:
// case 20 ://正确:char可以自动转换为int
// case "hello" ://错误: 不兼容的类型: String无法转换为char
// System.out.println("ok2");
// break;
// default :
// System.out.println("ok3");
// }
// 细节4
// default子句是可选的,当没有匹配的case时,执行default
// 如果没有default子句,又没有匹配任何常量,则没有输出
// 细节5
// break语句用来在执行完一个case分支后使程序跳出switch语句块
// 如果没有写break,程序会顺序执行到switch结尾,除非执行到到break
char f = 'a';
switch(f) {
case 'a' :
System.out.println("ok1");
// break;
case 'b' :
System.out.println("ok2");
break;
default :
System.out.println("ok3");
}
System.out.println("退出了switch,继续执行...");
//输出ok1 ok2 退出了switch,继续执行...
// char f = 'b';
// switch(f) {
// case 'a' :
// System.out.println("ok1");
// // break;
// case 'b' :
// System.out.println("ok2");
// break;
// default :
// System.out.println("ok3");
// }
// System.out.println("退出了switch,继续执行...");
//输出ok2 退出了switch,继续执行...
}
}

SwitchExercise.java
import java.util.Scanner;
public class SwitchExercise {
public static void main(String[] args){
//第1题:
//使用switch把小写类型的char型转为大写(键盘输入)。
//只转换a,b,c,d,e.其它的输出“other”
Scanner myScanner= new Scanner(System.in);
// System.out.println("请输入小写字母:");
// char letter = myScanner.next().charAt(0);
// switch(letter){
// case 'a' :
// System.out.println("A");
// break;
// case 'b' :
// System.out.println("B");
// break;
// case 'c' :
// System.out.println("C");
// break;
// case 'd' :
// System.out.println("D");
// break;
// case 'e' :
// System.out.println("E");
// break;
// default :
// System.out.println("other");
// }
// 第2题:
// 对学生成绩大于60分的,输出“合格”。低于60分的
// 输出“不合格”(注:输入的成绩不能大于100),提示 成绩/60
// 思路分析:
// 1.可以用分支来完成,但是要求使用switch
// 2.需要进行转换,编程思想
// 如果成绩在[60-100]之间,强转(int)成绩/60 = 1
// 如果成绩在[0-60]之间,强转(int)成绩/60 = 0
// System.out.println("请输入学生成绩:");
// double score = myScanner.nextDouble();
// // 使用if-else保证输入的成绩在0-100之间
// if(score >=0 && score <= 100){
// switch((int)(score / 60)){
// case 1 :
// System.out.println("合格");
// break;
// case 0 :
// System.out.println("不合格");
// break;
// // default :
// // System.out.println("输入有误");
// }
// }else{
// System.out.println("成绩不能100");
// }
//第3题:
//根据用于指定月份,打印该月份所属的季节。3,4,5春季,6,7,8夏季
//9,10,11秋季,12,1,2冬季
//思路分析
//使用switch来匹配,使用穿透来完成,比较简洁
System.out.println("请输入月份:");
int mouth = myScanner.nextInt();
switch(mouth){
case 3 :
case 4 :
case 5 :
System.out.println("春季");
break;
case 6 :
case 7 :
case 8 :
System.out.println("夏季");
break;
case 9 :
case 10 :
case 11 :
System.out.println("秋季");
break;
case 12 :
case 1 :
case 2 :
System.out.println("冬季");
break;
default :
System.out.println("你输入的月份不对");
}
}
}





ForDetail.java
//演示for的使用细节
public class ForDetail{
public static void main(String[] args) {
//1.循环条件是返回一个布尔值的表达式
//2.for(;循环判断条件;)中的初始化和变量迭代可以写到其它地方,但是两边分号不能省略
// int i = 1;
// for(; i <= 10 ;){
// System.out.println("你好,韩顺平教育" + i);
// i++;
// }
// System.out.println("i=" + i);//i=11
//补充
// int j = 1;
// for(;;){//表示无限循环(死循环)
// System.out.println("ok~" + (j++));
// }
// -----------------------------
// 3.循环初始值可以有多条初始化语句,但要求类型一样,并且
// 中间用逗号隔开,循环变量迭代也可以有多条变量迭代语句,
// 中间用逗号隔开
// 使用内存分析法
int count = 3;
for(int i = 0,j = 0;i < count;i++,j +=2){
System.out.println("i=" + i + "j=" +j);
/*
i=0j=0
i=1j=2
i=2j=4
*/
}
}
}

ForExercise.java
public class ForExercise {
public static void main(String[] args){
//打印1~100之间所有是9的倍数的整数,统计个数及总和[化繁为简,先死后活]
//老韩的两个编程思想(技巧)
//1.化繁为简:将复杂的需求拆解成简单的需求,逐步完成
//2.先死后活:先考虑固定的值,然后转成可以灵活变化的值
//思路分析:
//化繁为简
//(1)完成输出1-100的值
//(2)在输出的过程中,进行过滤,只输出9的倍数
//(3)统计个数:定义一个变量 int count = 0;当条件满足时,count++;
//(4)总和,定义一个变量int sum = 0;当条件满足时sum +=i
//先死后活
//(1)为了适应更好的需求,把范围开始值和结束的值,做成变量
//(2)把倍数9也做成变量
int start = 1;
int end = 100;
int t = 5;//倍数
int count = 0;//统计整除倍数的整数的个数
int sum = 0;//总和
for(int i = start;i <= end;i++){
if(i % t == 0){
count++;
sum +=i;
}
}
System.out.println("count=" + count);
System.out.println("sum=" + sum);
}
}
ForExercise02.java
public class ForExercise02 {
public static void main(String[] args){
//完成下面的表达式输出
//化繁为简
//(1)先输出0-5
//(2)后面的+是5-i
//先死后活
//(1)5替换成变量
int n = 9;
for(int i = 0;i <= n;i++){
System.out.println(i + "+" + (n-i) + "=" + n);
}
}
}


While01.java
//while循环的案例
//
public class While01 {
public static void main(String[] args) {
//输出10句你好,韩顺平教育
//
int i = 1;//循环变量初始化
while(i <= 10){//循环条件
System.out.println("你好,韩顺平教育" + i);//执行语句
i++;//循环变量迭代
}
System.out.println("i=" + i);
System.out.println("退出while循环,继续...");
}
}


WhileExercise.java
public class WhileExercise {
public static void main(String[] args) {
// 1.打印1-100之间所有能被3整除的数
// int i = 1;
// int endNum = 100;
// int b = 4;
// while(i <= endNum){
// if(i % b == 0){
// System.out.println(i);
// }
// i++;
// }
// 2.打印40-200之间所有的偶数
int i = 40;
int j = 200;
int z = 2;
while(i <= j){
if(i % z ==0){
System.out.println(i);
}
i++;
}
}
}


DoWhile01.java
public class DoWhile01{
public static void main(String[] args) {
//输出10句你好,韩顺平教育
int i = 1;//循环变量初始化
do{
//循环执行语句
System.out.println("你好,韩顺平教育" + i);
//循环变量迭代
i++;
}while(i <= 10);
System.out.println("退出...继续执行" + i);//i=11
}
}

DoWhileExercise.java
public class DoWhileExercise {
public static void main(String[] args) {
// int i = 1;
// do{
// System.out.println(i);
// i++;
// }while(i <= 100);
int i = 1;
int j = 0;
do{
j= j + i;
i++;
}while(i <= 100);
System.out.println(j);
}
}
DoWhileExercise01.java
public class DoWhileExercise01 {
public static void main(String[] args) {
//统计1--200之间能被5整除但不能被3整除的个数
//化繁为简
//(1)使用do-while输出1-200
//(2)过滤能被5整除但不能被3整除的数%
//(3)统计满足条件的个数
//先死后活
//(1)范围的值1-200做成变量
//(2)能被5整除但是不能被3整除的,5和3可以改为变量
int i = 1;
int count = 0;
do{
if(i % 5 == 0 && i % 3 != 0){
count++;
}
i++;
}while(i <= 200);
System.out.println(count);
}
}
DoWhileExercise02.java
import java.util.Scanner;
public class DoWhileExercise02 {
public static void main(String[] args){
//如果李三不还钱,则老韩一直使出五连鞭,直到李三说还钱为止
//[Syste.out.println("老韩问:还钱吗?y/n")] do...while
//化繁为简
//(1)不停的问还钱吗
//(2)使用char answer接收回答,定义一个Scanner对象
//(3)在do-while的while中判断如果是y就不再循环了
Scanner myScanner = new Scanner(System.in);
char answer = ' ';
do{
System.out.println("老韩使出五连鞭");
System.out.println("老韩问:还钱吗?y/n");
answer = myScanner.next().charAt(0);
System.out.println("回答是" + answer);
}while(answer != 'y');
}
}


MulFor.java
//双层for
//
public class MulFor {
public static void main(String[] args) {
for(int i = 0;i < 2;i++){
for(int j = 0;j < 3;j++){
System.out.println("i=" + i + "j=" + j);
}
}
}
}
//结果:
// i=0j=0
// i=0j=1
// i=0j=2
// i=1j=0
// i=1j=1
// i=1j=2

MulForExercise01.java
import java.util.Scanner;
public class MulForExercise01 {
public static void main(String[] args){
//1.统计3个班成绩情况,每个班有5名同学,求出各个班的平均分和所有班级的平均分[学生的成绩从键盘输入]
//统计3个班的及格人数,每个班有5名学生。
//
//思路分析:
//化繁为简
//(1)先计算一个班,5个学生的成绩
// a.创建一个Scanner对象,接收用户输入
// b.得到该班级的平均分,定义一个double sum把该班5个学生的成绩累加起来
//(2)统计3个班(每个班有5个学生)
//(3)求出所有班级的平均分
// a.定义一个变量,double totalScore,累计所有学生的成绩
// b.当多重循环结束后,totalScore / (3 * 5)
//(4)统计三个班及格人数
// a.定义变量int passNum = 0;
// b.当有一个学生成绩>=60,passNum++
//(5)优化[效率,可读性,结构]
Scanner myScanner = new Scanner(System.in);
double totalScore = 0;//累计所有学生成绩
int passSum = 0;//累计及格人数
int classNum = 3;
int studentNum = 5;
for(int grade = 1;grade <= classNum;grade++){
double sum = 0;
int passNum = 0;
for(int count = 1;count <= studentNum;count++){
System.out.println("请输入第" + grade +"个班第" + count + "个学生的成绩");
double score = myScanner.nextDouble();
System.out.println("成绩为" + score);
sum += score;
//当有一个学生成绩>60,passNum++
if(score >= 60){
passNum++;
}
}
//因为sum是5个学生的总成绩
System.out.print("总分为" + sum);
System.out.println("平均分为" + (sum / studentNum ));
System.out.println("及格人数为" + passNum);
totalScore += sum;
passSum += passNum;
}
//把sum累计到totalScore
System.out.print("三个班级总分为" + totalScore);
System.out.println("三个班级平均分为" + (totalScore / (classNum * studentNum)));
System.out.println("三个班级及格人数为" + passSum);
}
}
MulForExercise02.java
public class MulForExercise02{
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) + "\t");
}
System.out.println("");
}
}
}

Stars.java
public class Stars{
public static void main(String[] args){
//思路分析
//化繁为简
//1.先打印一个矩形
/*
*****
*****
*****
*****
*****
for(int i = 1;i <= 5;i++){
System.out.println("*****");
}
2.打印半个金字塔
* //第一层有1个*
** //第二层有2个*
*** //第三层有3个*
**** //第四层有4个*
***** //第五层有5个*
for(int i = 1;i <= 5;i++){
for(int j = 1;j <= i;j++){
System.out.print("*");
}
System.out.println("");
}
3.打印整个金字塔
* //第一层有1个* 2*1-1 有4个(总层数-1)空格
*** //第二层有3个* 2*2-1 有3个(总层数-2)空格
***** //第三层有5个* 2*3-1 有2个(总层数-3)空格
******* //第四层有7个* 2*4-1 有1个(总层数-4)空格
********* //第五层有9个* 2*5-1 有0个(总层数-5)空格
for(int i = 1;i <= 5;i++){
for(int k = 1;k <= 5 - i;k++){
System.out.print(" ");
}
for(int j = 1;j <= 2*i-1;j++){
System.out.print("*");
}
System.out.println("");
}
4.打印空心的金字塔[最难的]
* //第一层有1个* 当前行的第一个位置*,最后一个位置也是*
* * //第二层有2个* 当前行的第一个位置*,最后一个位置也是*
* * //第三层有2个* 当前行的第一个位置*,最后一个位置也是*
* * //第四层有2个* 当前行的第一个位置*,最后一个位置也是*
********* //第五层有9个* 全部输出*
for(int i = 1;i <= 5;i++){
for(int k = 1;k <= 5 - i;k++){
System.out.print(" ");
}
for(int j = 1;j <= 2 * i - 1;j++){
if(j == 1 || j == 2 * i - 1 || i == 5){
System.out.print("*");
}else{
System.out.print(" ");
}
}
System.out.println(" ");
}
*/
5.先死后活
层数做成变量 int numberOfLayers
*/
int numberOfLayers = 21;
for(int totalLevel = 1;totalLevel <= numberOfLayers;totalLevel++){ //totalLevel表示层数
//在输出*之前,还有空格输出
for (int space = 1;space <= numberOfLayers - totalLevel;space++){
System.out.print(' ');
}
//控制打印每层的*的个
for(int starsNum = 1;starsNum <= 2 * totalLevel - 1;starsNum++){
//当前行的第一个位置时*,最后一个位置也是*,最后一层全部输出*
if(starsNum == 1 || starsNum == 2 * totalLevel - 1 || totalLevel == numberOfLayers){
System.out.print("*");
}else{
System.out.print(" ");
}
}
//每打印完一层的*就换行
System.out.println("");
}
}
}

Test.java
public class Test {
public static void main(String[] args) {
for(int i = 0;i <= 10;i++){
System.out.println((int)(Math.random() * 100) + 1);
}
}
}

Break01.java
public class Break01{
public static void main(String[] args){
//测试代码
for(int i = 0; i < 10;i++){
if(i == 3){
break;
}System.out.println("i=" + i);
}
System.out.println("退出for循环,继续执行...");
//...
}
}
//输出结果
//i=0
//i=1
//i=2
//退出for循环,继续执行...

BreakDetail.java
public class BreakDetail {
public static void main(String[]args){
abc1:
for(int j = 0;j < 4;j++){//外层for
abc2:
for(int i = 0;i <10;i++){//内层for
if(i ==2){
// break;默认等价于break abc2
break abc1;
}
System.out.println("i=" + i);
}
}
}
}
//break;结果:
//i=0
//i=1
//i=0
//i=1
//i=0
//i=1
//i=0
//i=1
//break abc1;结果:
//i=0
//i=1

BreakExercise.java
public class BreakExercise {
public static void main(String[] args) {
//1)1-100以内的数求和,求出当和第一次大于20的当前数[for + break]
//思路分析
//1.循环1-100,求和sum
//2.当sum > 20时,记录下当前数,然后break
//3.在for循环外部,定义变量n,把当前i赋给n
int sum = 0;
int n = 0;
for(int i =1;i <= 100;i++){
sum +=i;
if(sum >20){
// System.out.println("sum>20 ,当前i=" + i);//sum>20 ,当前i=6
n = i;
break;
}
}
System.out.println("sum>20 ,当前i=" + n);
}
}
BreakExercise02.java
import java.util.Scanner;
public class BreakExercise02 {
public static void main(String[] args) {
// 实现登录验证,有3次机会,如果用户名为“丁真”,
// 密码“666”提示登录成功,否则提示还有几次机会,
// 请使用for+break完成
// 思路分析
// 1.创建Scanner对象接收用户输入
// 2.定义 String name;String passwd;保存用户名和密码
// 3.循环3次[登录3次],满足条件提前退出
// 4.顶一个变量 int change 记录有几次登录机会
Scanner myScanner = new Scanner(System.in);
// String name = "";
// String passwd = "";
int chance = 3;//登陆一次,就减少一次
for(int i = 1;i <= 3;i++){
System.out.println("请输入用户名");
String name = myScanner.next();
System.out.println("请输入密码");
String passwd = myScanner.next();
//比较输入的名字和密码是否正确
//补充:字符串内容的比较使用的方法是equals
if("丁真".equals(name) && "666".equals(passwd)){
//name.equals("丁真")和"丁真".equals(name)表达意思一致
//"丁真".equals(name)写法可以避免空指针,推荐选择
System.out.println("登陆成功");
break;
}
chance--;
System.out.println("你还有" + chance + "次机会");
}
}
}



ContinueDetail.java
public class ContinueDetail {
public static void main(String[] args){
label1:
for(int j = 0;j < 2;j++){
label2:
for(int i = 0;i < 4;i++){
if(i == 2){
//看看分别输出什么值,并分析
// continue;
// continue label2;
continue label1;
}
System.out.println("i = " + i);
}
}
}
}
//continue;结果:
//i=0
//i=1
//i=3
//i=0
//i=1
//i=3
//continue lable2;结果:
//i=0
//i=1
//i=3
//i=0
//i=1
//i=3
//continue label1;结果:
//i=0
//i=1
//i=0
//i=1

Return01.java
public class Return01{
public static void main(String[] args){
for(int i = 1;i <= 5; i++){
if(i == 3){
System.out.println("韩顺平教育" + i);
// break;
// continue;
return;//当return用在方法时,表示跳出方法,如果使用在main,表示退出程序
}
System.out.println("Hello world!");
}
System.out.println("go on...");
}
}
// ---------------------
//break;结果:
//Hello world!
// Hello world!
// 韩顺平教育3
// go on...
// ---------------------
// continue;结果:
// Hello world!
// Hello world!
// 韩顺平教育3
// Hello world!
// Hello world!
// go on...
// ---------------------
// return;结果:
// Hello world!
// Hello world!
// 韩顺平教育3

Homework01.java
public class Homework01 {
public static void main(String[] args) {
//思路分析
//1.定义 double money 保存100000
//2.根据题的要求,我们分析出来有3中情况
//money > 50000
//money >= 1000 && money <=50000
//money < 1000
//3.使用多分支if-else if-else
//4.while+break[money < 1000],同时使用一个变量times来保存通过的路口数
//代码实现
double money = 100000;
int times = 0;
while(true){
if(money > 50000){
money *= 0.95;
}else if(money >= 1000){
money = money - 1000;
}else{//钱不够了
break;
}
times++;
}
System.out.println("该人还剩" + money + "元,100000元经过了" + times + "次路口");
}
}

Homework02.java
import java.util.Scanner;
public class Homework02 {
public static void main(String[] args) {
Scanner myScanner = new Scanner(System.in);
System.out.println("请输入一个整数");
int i = myScanner.nextInt();
if(i > 0){
System.out.println("输出的数为" + i + "大于0");
}else if(i < 0){
System.out.println("输出的数为" + i + "小于0");
}else{
System.out.println("输出的数为" + i + "等于0");
}
}
}
Homework03.java
import java.util.Scanner;
public class Homework03 {
public static void main(String[] args) {
Scanner myScanner = new Scanner(System.in);
System.out.println("请输入一个年份:");
int year = myScanner.nextInt();
if(year % 4 == 0 && year % 100 != 0 || year % 400 ==0){
System.out.println(year + "年是闰年");
}else{
System.out.println(year + "年是平年");
}
}
}
Homework04.java
import java.util.Scanner;
public class Homework04 {
public static void main(String[] args) {
// 思路分析 =>多听,见多识广
// 1.比如 int n = 153;
// 2.先得到 n 的百位,十位,个位的数字,
// 使用if判断他们的立方和是否相等
// 3.n的百位 = n / 100
// 4.n的十位 = n % 100 / 10
// 5.n的个位 = n % 10
// 6.判断即可
Scanner myScanner = new Scanner(System.in);
System.out.println("请输入一个整数:");
int num = myScanner.nextInt();
int n1 = num / 100;
int n2 = num % 100 / 10;
int n3 = num % 10;
// int f[]=new int[10];
// int temp = num;
// f[0] = temp % 10;
// temp = temp / 10;
// f[1] = temp % 10;
// temp = temp / 10;
// f[2] = temp % 10;
if(num >= 100 && num < 1000){
if(num == n1*n1*n1 + n2*n2*n2 + n3*n3*n3){
System.out.println("这个数是水仙花数");
}else{
System.out.println("这不是一个水仙花数");
}
}else{
System.out.println("这不是一个水仙花数");
}
}
}

没有任何内容输出

Homework06.java
public class Homework06 {
public static void main(String[] args) {
//思路分析
//1.先输出1-100所有数
//2.过滤输出不能被5整除的数(i % 5 != 0)
//3.每5个一行,使用int count 统计输出的个数
//count%5=0,就说明输出了5个。这时我们换行符
int i = 1;
int count = 0;
while(i <= 100){
if(i % 5 != 0){
count++;
System.out.print(i + "\t");
//判断,每满5个,就输出一个换行
if(count % 5 == 0){
System.out.println();
}
}
i++;
}
}
}
Homework07.java
public class Homework07 {
public static void main(String[] args) {
//考察a-z编码和for循环的综合使用
//思路分析
//1.'b'='a'+1;'c'='a'+2
//2.使用for循环
for(char c1 = 'a';c1 <= 'z';c1++){
System.out.print(c1 + " ");
}
System.out.println("");
for(char c2 = 'Z';c2 >= 'A';c2--){
System.out.print(c2 + " ");
}
// int start = (int)('a');
// int end = (int)('z');
// int nums = (int)('A');
// int numd = (int)('Z');
// for(int i = start;i >= start && i <= end;i++){
// System.out.print((char)i + " ");
// }
// System.out.println("");
// for(int j = numd;j <= numd && j >= nums;j--)
// System.out.print((char)j + " ");
}
}
Homework08.java
public class Homework08 {
public static void main(String[] args) {
//求出1-1/2+1/3-1/4+1/5......1/100的和
//思路分析
//1. (1/1)-(1/2)+(1/3)-(1/4)...1/100
//2.一共100个数,分子为1,分母是从1-100
//3.分母为偶数时,前面符号为-,当分母是奇数是,前面为+
//4.使用for循环+判断可完成
//5.把结果存放在double sum
//6.有一个隐藏的考点:要把公式的分子1写成double 1.0才能得到精确的小数
//
// double sum = 0;
// for(int i = 1;i <= 100;i++){
// if(i % 2 == 0){
// sum -= (1.0 / i);
// }else{
// sum += (1.0 / i);
// }
// }
// System.out.println("sum=" + sum);
// 以下方法为什么不可以??
//1.加法1+1/3+1/5+1/7
//3 5 7 9 11 13 15 16
//2.减法1-1/2-1/4-1/6-...-1
//2 4 6 8 10 12 14 16
// double sum = 0;
// for(int i = 1;i <= 100;i++){
// sum += (1.0 / (2 * i + 1) - 1.0 / (2 * i));
// }
// System.out.println(sum + 1.0);
}
}
Homework09.java
public class Homework09 {
public static void main(String[] args){
// 求1+(1+2)+(1+2+3)+(1+2+3+4)+...+(1+2+3+...+100)的结果
//100个1,99个2,98个3...,1个100相加
//思路分析
//1.一共有100项相加
//2.每一项数字都在逐渐增加
//3.很像一个双层循环
//i可以表示是第几项,也可以表示当前项的最后一个数
//使用sum进行累计即可
int sum = 0;
for(int i = 1;i <= 100;i++){
for(int j = 1;j <= i;j++){//内层对1~i进行循环
sum += j;
}
}
System.out.println("sum=" + sum);
// int sum = 0;
// for(int i = 1,j = 100;i <= 100;i++,j--){
// sum += i * j;
// }
// System.out.println(sum);
}
}
MySQL学习笔记