class Demo1_For {
public static void main(String[] args) {
//在控制输出10次helloworld,这样做不推荐,因为复用性太差
/*System.out.println("helloworld");
System.out.println("helloworld");
System.out.println("helloworld");
System.out.println("helloworld");
System.out.println("helloworld");
System.out.println("helloworld");
System.out.println("helloworld");
System.out.println("helloworld");
System.out.println("helloworld");
System.out.println("helloworld");*/
for (int i = 1;i <= 10 ;i++ ) {
System.out.println("helloworld");
}
}
}
class Test1_For {
public static void main(String[] args) {
for (int i = 1;i <= 10 ;i++ ){
System.out.println("i = " + i);
}
System.out.println("-----------------------");
for (int i = 10;i >= 1 ;i-- ) {
System.out.println("i = " + i);
}
}
}
class Test2_For {
public static void main(String[] args) {
//1-10的和
/*int sum = 0;
for (int i = 1;i <= 10 ;i++ ) {
sum = sum + i;
}
System.out.println("sum = " + sum);*/
//1-100的偶数和
/*int sum = 0;
for (int i = 1;i <= 100 ;i++ ) {
if (i % 2 == 0) {
sum = sum + i;
}
}
System.out.println("sum = " + sum);*/
//1-100的奇数和
int sum = 0;
for (int i = 1;i <= 100 ;i+=2 ) {
/*if (i % 2 != 0) {
sum = sum + i;
}*/
sum = sum + i;
}
System.out.println("sum = " + sum);
}
}
A:案例演示
需求:在控制台输出所有的”水仙花数”
所谓的水仙花数是指一个三位数,其各位数字的立方和等于该数本身。
class Test3_Flower {
public static void main(String[] args) {
for (int i = 100;i <= 999 ;i++ ) { //获取100到999之间的数
int ge = i % 10; //123 % 10
int shi = i / 10 % 10; //12 % 10;
int bai = i / 10 / 10 % 10; //1 % 10
if (ge * ge * ge + shi * shi * shi + bai * bai * bai == i) {
System.out.println(i);
}
}
}
}
class Test4_FlowerCount {
public static void main(String[] args) {
int count = 0;
for (int i = 100;i <= 999 ;i++ ) {
int ge = i % 10;
int shi = i / 10 % 10;
int bai = i / 10 / 10;
if (i == ge * ge * ge + shi * shi * shi + bai * bai * bai) {
count ++; //满足条件就自增,计数器思想
}
}
System.out.println(count);
}
}
while循环的基本格式:
while(判断条件语句) {
循环体语句;
}
完整格式:
初始化语句;
while(判断条件语句) {
循环体语句;
控制条件语句;
}
class Demo1_While {
public static void main(String[] args) {
int x = 1;
while (x <= 10) {
System.out.println("x = " + x);
x++;
}
}
}
class Test1_While {
public static void main(String[] args) {
/*
* A:求和思想
* 求1-100之和
* B:统计思想
* 统计”水仙花数”共有多少个
*/
//求1-100之和
/*int sum = 0;
int i = 1;
while (i <= 100) {
sum += i; //sum = sum + i;
i++; //让变量i自增
}
System.out.println("sum = " + sum);*/
//统计”水仙花数”共有多少个
int count = 0; //计数器
int i = 100;
while (i <= 999) {
int ge = i % 10;
int shi = i / 10 % 10;
int bai = i / 100;
if (i == ge * ge * ge + shi * shi * shi + bai * bai * bai) {
count ++;
}
i++;
}
System.out.println("count =" + count);
//某屌丝为了追求女神,写了一段代码示爱,但是女神也会java,改动一下把屌丝拒绝
int j = 1;
while (j <= 10000) {
System.out.println("I Love You!!!");
j++;
}
}
}
do {
循环体语句;
}while(判断条件语句);
完整格式;
初始化语句;
do {
循环体语句;
控制条件语句;
}while(判断条件语句);
class Demo1_DoWhile {
public static void main(String[] args) {
//while 和do while的区别
/*int i = 11;
do {
System.out.println("i = " + i);
i++;
}
while (i <= 10);
System.out.println("---------------------");
int j = 11;
while (j <= 10) {
System.out.println("j = " + j);
j++;
}*/
/*for (int i = 1;i <= 10 ;i++ ) {
System.out.println("i = " + i);
}
//System.out.println("i = " + i); for语句执行后变量会被释放,不能再使用
System.out.println("-------------------");
int i = 1;
while (i <= 10) {
System.out.println("i = " + i);
i++;
}
System.out.println("-------------------");
System.out.println("i = " + i); //while语句执行后,初始化变量还可以继续使用*/
//while语句的无限循环
/*while (true) {
System.out.println("hello world");
}*/
//System.out.println("hello world");
//for语句的无限循环
for (; ; ) {
System.out.println("hello world");
}
}
}
A:案例演示
如图:
*****
*****
*****
*****
注意:
System.out.println("*");和System.out.print("*");的区别
class Demo1_ForFor {
public static void main(String[] args) {
/*for (int i = 1;i <= 3 ;i++ ) { //外循环
System.out.println("i = " + i);
for (int j = 1;j <= 3 ;j++ ) { //内循环
System.out.println("j = " + j);
}
}*/
for (int i = 1;i <= 4 ;i++ ) { //外循环决定的是行数
for (int j = 1;j <= 5 ;j++ ) { //内循环决定的是列数
System.out.print("*");
}
System.out.println();
}
}
}
class Demo2_ForFor {
public static void main(String[] args) {
for (int i = 1;i <= 5 ; i++) { //外循环决定行数
for (int j = 1;j <= i ;j++ ) { //内循环决定列数
System.out.print("*");
}
System.out.println(); //将光标换到下一行的行首
}
}
}
注意:
'\x' x表示任意,\是转义符号,这种做法叫转移字符。
'\t' tab键的位置
'\r' 回车
'\n' 换行
'\"'
'\''
class Demo3_For99 {
public static void main(String[] args) {
/*for (int i = 1;i <= 9 ;i++ ) { //行数
for (int j = 1;j <= i ;j++ ) { //列数
System.out.print(j + "*" + i + "=" + (i * j) + "\t" );
}
System.out.println();
}*/
//System.out.println("\""); 转义双引号
System.out.println('\''); //转义单引号
}
}
class Demo1_Break {
public static void main(String[] args) {
for (int x = 1;x <= 10 ;x++ ) {
if (x == 4) {
break; //跳出循环
}
System.out.println("x = " + x);
}
}
}
class Demo2_Continue {
public static void main(String[] args) {
for (int x = 1;x <= 10 ;x++ ) {
if (x == 4) {
continue; //终止本次循环,继续下次循环
}
System.out.println("x = " + x);
}
}
}
class Demo3_Mark { //mark 标记
public static void main(String[] args) {
/*outer: for (int i = 1;i <= 10 ;i++ ) { //a就是标号,只要是合法的标识符即可
System.out.println("i = " + i);
inner: for (int j = 1;j <= 10 ;j++ ) {
System.out.println("j = " + j);
break outer;
}
}*/
System.out.println("大家好");
http://www.heima.com
System.out.println("才是真的好");
}
}
for(int x=1; x<=10; x++) {
if(x%3==0) {
//在此处填写代码
}
System.out.println(“Java基础班”);
}
我想在控制台输出2次:“Java基础班“
我想在控制台输出7次:“Java基础班“
我想在控制台输出13次:“Java基础班“
class Test1 {
public static void main(String[] args) {
for(int x=1; x<=10; x++) {
if(x%3==0) {
//break; //我想在控制台输出2次:“Java基础班“
//continue; //我想在控制台输出7次:“Java基础班“
System.out.println("Java基础班");//我想在控制台输出13次:“Java基础班“
}
System.out.println("Java基础班");
}
}
}
class Demo2_Sum {
public static void main(String[] args) {
/*int a = 10;
int b = 20;
int sum = a + b;
System.out.println(sum);
int c = 30;
int d = 40;
int sum2 = c + d;
System.out.println(sum2);*/
int sum = add(10,20);
System.out.println(sum);
//add(30,40); //有返回值方法的单独调用,没有意义
System.out.println(add(30,40)); //这样调用是可以,but如果需要用这个结果不推荐这样调用
//盘子 = 炒菜(地沟油,苏丹红,镉大米,烂白菜);
}
import java.util.Scanner;
class Test1_Method {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in); //创建键盘录入对象
System.out.println("请输入第一个整数:");
int x = sc.nextInt(); //将键盘录入的整数存储在x中
System.out.println("请输入第二个整数:");
int y = sc.nextInt(); //将键盘录入的整数存储在y中
//int max = getMax(x,y);
//System.out.println(max);
boolean b = isEquals(x,y);
System.out.println(b);
}
/*
返回连个整数的较大值
1,明确返回值类型 int
2,明确参数列表 int a,int b
*/
public static int getMax(int a,int b) {
return a > b ? a : b;
}
/*
判断两个整数是否相等
1,明确返回值类型 boolean
2,明确参数列表 int a,int b
*/
public static boolean isEquals(int a,int b) { //isEquals 是否相等
return a == b;
}
}
import java.util.Scanner;
class Demo3_Method {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in); //创建键盘录入对象
System.out.println("请输入行数:");
int row = sc.nextInt(); //将键盘录入的行数存储在row中
System.out.println("请输入列数:");
int column = sc.nextInt(); //将键盘录入的列数存储在column中
//System.out.println(print(row,column)); //错误: 此处不允许使用 '空' 类型,返回值是void的方法不能输出调用
//返回值是void的方法只能单独调用
print(row,column);
}
/*
在控制台输出矩形星形
1,明确返回值类型,经分析没有具体的返回值类型,void
2,明确参数列表int a,int b
*/
public static void print(int a,int b) {
for (int i = 1;i <= a ;i++ ) { //行数
for (int j = 1;j <= b ;j++ ) { //列数
System.out.print("*");
}
System.out.println();
}
//return ; //如果返回值类型是void,return可以省略,即使省略系统也会默认给加上,形式是return;
}
}
import java.util.Scanner;
class Test2_Method {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in); //创建键盘录入对象
System.out.println("请录入一个整数,范围在1-9之间");
int num = sc.nextInt(); //将键盘录入的整数存储在num中
print99(num);
}
/*
打印99乘法表
1,返回值类型void
2,参数列表,int a
*/
public static void print99(int a) {
for (int i = 1;i <= a ;i++ ) { //行数
for (int j = 1;j <= i ;j++ ) { //列数
System.out.print(j + "*" + i + "=" + (i * j) + "\t" );
}
System.out.println();
}
}
}
B:方法重载:
在同一个类中,方法名相同,参数列表不同。与返回值类型无关。
参数列表不同:
class Demo4_Overload { //overload重载
public static void main(String[] args) {
double sum1 = add(10,20.1);
System.out.println(sum1);
int sum2 = add(10,20,30);
System.out.println(sum2);
double sum3 = add(12.3,13);
System.out.println(sum3);
}
/*
求两个整数的和
1,返回值类型int
2,参数列表 int a,int b
*/
public static double add(int a,double b) {
return a + b;
}
/*
求三个整数的和
1,返回值类型int
2,参数列表 int a,int b,int c
*/
public static int add(int a,int b,int c) {
return a + b + c;
}
/*
求两个小数的和
1,返回值类型double
2,参数列表 double a,double b
*/
public static double add(double a,int b) {
return a + b;
}
}
class Test3_Overload {
public static void main(String[] args) {
boolean b1 = isEquals(10,10);
System.out.println(b1);
boolean b2 = isEquals(10.5,10.5);
System.out.println(b2);
}
/*
比较两个数据是否相等
1,返回值类型boolean
2,参数列表int a,int b
*/
public static boolean isEquals(int a,int b) {
return a == b;
}
/*
比较两个数据是否相等
1,返回值类型boolean
2,参数列表double a,double b
*/
public static boolean isEquals(double a,double b) {
return a == b;
}
}
还有整理的知识体系图 给大家分享一下