是for
while(){ //先判断条件,true再执行循环体(有可能一次都不会执行)
do{
}while(); //先执行一边循环体,再判断条件,true再执行循环体(至少会执行一遍)
import java.util.Scanner;
public class Demo1 {
public static void main(String[] args) {
for(int i=1;i<=10;i++){
System.out.print(i+" ");
}
// System.out.println(i);//在 for 循环之后,循环中的 i 会被及时释放内存
System.out.println();
System.out.println("------------");
int num=1;
while(num<=10){
System.out.print(num+",");
num++;
}
System.out.println();
System.out.println(num);//while 循环用过的 num 是可以继续使用的,如果你有需要继续使用
循环的初始化变量的时候,选择 while 循环
} }
死循环 无限循环
public class Demo1 {
public static void main(String[] args) {
if(true) {
System.out.print(1);
}
// for(;;){
// System.out.println(2);
// }
// System.out.println("死循环之后的程序没法到达");//开发中一定要避免出现死循环。程序员开发
的禁忌
} }
import java.util.Scanner;
public class Demo1 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int a =sc.nextInt();//用户在操作的时候,输入的信息,构成了死循环
if(a!=1000) { //解决:避免用户输入 1000
while (a == 1000) {
System.out.print(1);
}
}
// for(;;){
// System.out.println(2);
// }
// System.out.println("死循环之后的程序没法到达");//开发中一定要避免出现死循环。程序员开发
的禁忌
} }
while(true){
}
七. 循环控制语句
break; 中断循环
continue; 继续循环 (中止本次循环,继续下一次循环)
return; 它的作用不是结束循环的,而是结束方法的
案例:请输出4行5列图案
*****
*****
*****
*****
public class Demo1 {
public static void main(String[] args) {
for(int j=0;j<5;j++) { //外层循环,控制重复执行下面的五次
//是输出一行五个*,把这里看作一个整体
for (int i = 0; i < 5; i++) {
System.out.print("*");
}
System.out.println();//输出换行
}
} }
需求:请输出正三角形
* //第1行 1个
** //第2行 2个
*** //第x行 x个
****
*****
方法一:
public class Demo1 {
public static void main(String[] args) {
int n=1;//控制每行输出的个数
for(int j=0;j<5;j++) { //外层循环,控制重复执行下面的五次
//是输出一行五个*,把这里看作一个整体
for (int i = 0; i < n; i++) {
System.out.print("*");
}
System.out.println();//输出换行
n++;//放在外层循环中
}
} }
方法二
public class Demo1 {
public static void main(String[] args) {
for(int j=1;j<=5;j++) { //外层循环,控制重复执行下面的五次
//是输出一行五个*,把这里看作一个整体
for (int i = 0; i <j; i++) { //j 整合记录的行数,每行*的个数=行数
System.out.print("*");
}
System.out.println();//输出换行
}
●Java 语言基础(方法)
A:
为什么要有方法
提高代码的复用性
B:
什么是方法
完成特定功能的代码块。
C:
方法的格式
修饰符 返回值类型 方法名
(
参数类型 参数名
1,
参数类型 参数名
2...) {
方法体语句
;
return
返回值
;
}
修饰符 返回值类型 方法名(参数类型 参数名1,参数类型 参数名2...) {
方法体语句;
return 返回值;
}
最简单的
public static void 方法名(){
}
带参的方法
public static void 方法名(参数){
}
带返回值的方法
public static 返回值的数据类型 方法名(参数){
return 值;
}
public class Demo1 {
public static void main(String[] args) {
/* while(true){
System.out.println("123");
}*/
/* for ( ; ;) {
System.out.println("123");
}*/
//1. break; 中断循环
//输入1-10的数字
/* int i =1;
while(true){
System.out.println(i);
if(i==10){
break;
}
i++;
}*/
//2. continue继续
for (int i = 1; i <= 10; i++) {
if(i==4){
continue;//结束本次循环(continue后面的代码不执行),继续下一轮循环
}
System.out.println(i);
}
System.out.println("程序结束");
}
public class Demo2 {
public static void main(String[] args) {
for (int i = 1; i <= 10; i++) {
if(i==4){
/* break;//结束当前循环*/
continue;
// return;//结束当前的方法
}
System.out.println(i);
}
System.out.println("程序结束");
}
}
public class Demo2_1 {
//主方法main方法 程序入口 完成整个项目的功能
//可以把一些模块分出去 自定义方法
//方法: 能够完成某个功能的独立的代码块
//为什么要去创建单独的方法呢?
//1. 项目模块清晰,方便管理 维护 找错
//2. 方法可以反复调用的,提高代码的复用性
//怎么写方法
public static void main(String[] args) {
//调用方法 根据方法名
qiantai();
chushi("小龙虾",5);//实际的参数 实参
chushi("烧烤",10);
/* qiantai();
qiantai();*/
}
//写一个自己的方法 方法命名
public static void qiantai(){
System.out.println("收快递");
System.out.println("办理入职");
System.out.println("接待");
}
//厨师 做任何一道菜 需要你告诉我菜名 括号中的参数
//形参 String cai 参数类型 参数名
public static void chushi(String cai,int jin){
System.out.println("做了"+jin+"斤"+cai);
}
public class Demo2_2 {
public static void main(String[] args) {
int sheng = waimai(100,10);//只要方法有返回值,通过变量来接收这个值
//剩下的钱去买东西
sheng = waimai(sheng ,50);
System.out.println("main:"+sheng);
}
//买东西 钱 money, 买的这个东西的价格price
public static int waimai(int money,int price){
int sheng = money;
//判断
if(money >= price){
sheng = sheng - price;
System.out.println("购买成功,还剩:"+sheng);
}else{
System.out.println("不够");
}
//最后返回一个值 一旦写了返回值return ,void就要修改成对应的数据类型
return sheng;
}
}
public class Demo3 {
public static void main(String[] args) {
//循环嵌套 看5遍视频,每看一遍玩3局游戏
//特点:外循环每执行一次,内循环全部执行完,再继续下一轮外循环
for (int i = 1; i <= 5; i++) {
System.out.println("看了"+i+"次视频");
for (int j = 1; j <=3 ; j++) {
System.out.println("-----玩了"+j+"局游戏-----");
}
}
}
}
public class Demo5 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
// 输入 5个学生的分数(整数),每个学生有3门课程
//求 和以及平均值
int sum = 0;//和
for (int i = 1; i <= 5 ; i++) {
for (int j = 1; j <= 3 ; j++) {
System.out.println("第"+i+"个学生,录入第"+j+"门课程分数:");
int score = sc.nextInt();
//2累加
sum = sum + score;
}
//录完3个成绩,输出和的结果以及平均值
System.out.println("这个学生的总和是"+sum+",平均分:"+sum/3);
//在这个学生的数据统计完之后,sum 重置0
//sum = 0;
}
}
}
public class Work1 {
public static void main(String[] args) {
//分别输入月份和天。利用循环计算出该日期是这一年的第几天(先不考虑闰年,默认2月固定为28天)
Scanner sc = new Scanner(System.in);
System.out.println("输入月");
int month = sc.nextInt();
System.out.println("输入日");
int day = sc.nextInt();
// 7 月10日 (前面6个月 30 *6 都是满的 单独+10)
int sum = 0;
for (int i = 1; i <= month-1 ; i++) {//i 目前的月份
//判断这个月共有多少天
if(i == 1 || i==3||i==5||i==7||i==8||i==10||i==12){
sum = sum +31;
}else if(i == 2){
sum = sum+28;
}else if(i == 4 || i==6||i==9||i==11){
sum = sum +30;
}
}
System.out.println(sum+ day);
}
}
public class Work2 {
public static void main(String[] args) {
//一只青蛙掉进了一个50米的井里,青蛙每天早上爬7米,到了晚上就掉下来3米,
// 问青蛙需要第几天才能爬出井里。(答案是12天)
int gao = 0;//目前站的这个高度
int day = 0;//统计当前是第几天 根据循环的次数
while(true){ //搭配break中断循环 如果高度>=50 break
gao += 7;
day ++;//加一天
//判断 有没有爬出去
if(gao >= 50){
System.out.println("爬出去了");
break;//把循环结束
}
gao -=3;
}
System.out.println("day:"+day);
//案例1、 山上有一口缸可以装50升水,现在有15升水,老和尚叫小和尚下山挑水,
//每次可以挑5升,晚上蒸发掉一升、。 问:小和尚要挑几次水才可以把水缸挑满,编程实现
}
}
B:代码优化
• 注意:
• '\x' x 表示任意,\是转义符号,这种做法叫转移字符。
• '\t' tab 键的位置 (单引号,双引号都可以)
• '\r' 回车
• '\n' 换行
• '\"'
• '\''