达内------顺序循环结构

本文介绍了Java编程的基础知识,包括标识符的定义规则、基本数据类型、条件判断语句if-else的使用方法,并通过多个实例讲解了如何运用这些概念解决实际问题,如判断数字正负、选择交通工具、计算出租车费用等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

标识符:数字不能开头。

编程规范:注意大小写。

数据类型:基本类型,引用类型。

基本类型:booleacharbyteshortintlongfloatdouble

if(条件1){

//满足条件1时执行的语句

}else if(条件2){

//满足条件2时执行的语句

}else{

//以上条件都不满足时执行的语句

}

//按条件,从N个分支选1个执行(没有else可能不选)

例子:输入一个int,判断是正数//负数,如果数字>0是正数,或者数字=0是零,否则是负数

if(a>0){

}else if(a==0){

}else(a<0)

import java.util.*; public class TestIf { public static void main(String args[]) { Scanner sc = new Scanner(System.in); System.out.print("请输入整数:"); int num = sc.nextInt(); if(num>0) { System.out.println("是正数"); } else if(num==0) { System.out.println("是零"); } else { System.out.println("是负数"); } } }

练习:

1. 按照工资水平,选择交通工具去上海世博。

a) 8000以上(包括8000)选择飞机

b) 5000-7999选择火车

c) 3000-4999选择自行车

d) 其他选择11路公交车,即走路

import java.util.*; public class Jiaotong { public static void main(String args[]) { Scanner sc=new Scanner(System.in); System.out.print("请输入你的工资:"); float gz = sc.nextFloat(); if(gz>=8000){ System.out.println("老爷,您坐飞机吧"); }else if (gz>=5000/*&&gz<8000*/) { System.out.println("少爷,您坐火车吧"); }else if (gz>=3000/*&&gz<5000*/) { System.out.println("管家,你骑自行车吧"); }else{ System.out.println("看啥看,仆人就应该自己靠两条腿跑着去"); }//if...else...是顺序结构,从上往下,只选一条路,所以"/*...*/"中的内容可以省,但是要注意次序 } }

2. 实现一下出租车的计价。

a) 价格由里程数和等待时间组成

b) 3公里以内10块大洋

c) 4-15公里每公里2块大洋

d) 16公里开始,每公里3块大洋

e) 等待时间输入秒数,每2分半1元,不足部分不计价

f) 要求输入公里数和秒数,输出价格,比如18公里,300秒。

import java.util.*; public class Taxi { public static void main(String args[]) { Scanner sc=new Scanner(System.in); System.out.println("请输入路程公里数:"); int lc = sc.nextInt(); System.out.println("请输入等待时间秒数:"); int s = sc.nextInt(); int menoy; if(lc<0||s<0){ System.out.println("智商不够,暂时无法辨别负数和小数,请输入正整数,"); return; //return可以终止方法!活用return! } else if (lc<=3) { menoy= 10+s/150; System.out.println("刚好"+menoy+"块大洋"); } else if (lc>3&&lc<=15) { menoy = 10+(lc-3)*2+s/150; System.out.println("嘿嘿,赚了"+menoy+"块大洋"); }else { menoy = 10+(15-3)*2+(lc-15)*3+s/150; System.out.println("大丰收啊大丰收,赚了"+menoy+"块大洋"); } } }

3. 输入3int,输出最大值。

import java.util.*; public class Ex3_3 { public static void main(String args[]) { Scanner sc=new Scanner(System.in); System.out.println("请输入3个整数:"); System.out.println("第1个整数:"); int a = sc.nextInt(); System.out.println("第2个整数:"); int b = sc.nextInt(); System.out.println("第3个整数:"); int c = sc.nextInt(); /*if (a>=b&&a>=c) { System.out.println("最大的数是"+a); }else if (b>=a&&b>=c) { System.out.println("最大的数是"+b); }else if (c>=a&&c>=b) { System.out.println("最大的数是"+c); }//这段是我写的*/ int max = a; if(b>max) max = b; //if如果{}中只有一句,{}可以省略 if(c>max) max = c; System.out.println("最大的数是"+max); } }

循环

for/while/do while

for(循环变量的初始化;循环条件;步进语句){

//需要反复执行的语句

}

for(int i=1;i<10000;i++){

System.out.println(i);

}

打印1100的奇数,用三种方法:

public class TestFor { public static void main(String args[]) { System.out.println("方法一"); for (int i=1;i<=100 ;i++ ) { if (i%2==1) { System.out.print(i+"\t"); } }//ctrl+c(d) 退出死循环 System.out.println("方法二"); for (int j=1;j<=100 ;j=j+2 ) { System.out.print(j+"\t"); } System.out.println("方法三"); for (int k=0;k<50;k++ ) { System.out.print(2*k+1+"\t"); } } }

循环次数不确定的循环

for( ; ; ){

if(条件) break;

}//break用于跳出循环!

import java.util.Scanner; public class TestChat { public static void main(String args[]) { Scanner sc=new Scanner(System.in); for (; ; ) { System.out.println("请输入要说的话:"); String s = sc.next(); /*if (s=="die") { break; }//这是错误的,无法实现输入die退出*/ if (s.equals("die")) { break; } System.out.println("你说:"+s); } //String用equals比较相等!注意不能使用== } //循环次数不确定的循环处理方法 }

随机数的范围:

import java.util.Random; import java.util.Scanner; public class TestRandom { public static void main(String args[]) { Random r = new Random(); //Scanner sc = new Scanner(System.in); //int x = sc.nextInt(); //int y = sc.nextInt(); //int random = r.nextInt(10); //[0,9] //int random = r.nextInt(y)+x; int random = r.nextInt(100)+1; //[1,100] System.out.println(random); } }

练习:

1. 循环打印a-z(26个小写字母)

public class a_z { public static void main(String args[]) { System.out.println("方法一:"); for (char word = 'a'/*1*/;word<='z'/*2*/ ;word++/*3*/ ) { System.out.print(word+"\t");/*4*/ } //执行顺序 1 2 4 3 2 4 3 ... 2 System.out.println(); System.out.println("方法二"); for (char word = 97;word<123 ; word++ ) { System.out.print(word+"\t"); } System.out.println(); } }

2.打印星号

import java.util.Scanner; public class Star { public static void main(String args[]) { System.out.print("请输入列数:"); Scanner sc=new Scanner(System.in); int x =sc.nextInt(); for (int i=0;i<x ;i++ ) { for (int j=0;j<i+1;j++) { System.out.print("*"); } // System.out.println("\n"); System.out.println(); } } }

3. 打印乘法表

a) 要求格式

1

2 4

3 6 9

……

9 18 27 …. 81

public class chengfa { public static void main(String args[]) { for (int i=1;i<10;i++) { for (int j=1;j<=i;j++) { System.out.print(i*j+" "); } System.out.println(); } } }

4. 36个人,36块砖,每人搬了一次,正好搬完,男人每人搬4,女人每人搬3,小孩两人搬一块.:几个男,几个女,几个小孩

public class bangzhuan { public static void main(String args[]) { for (int i=0;i<10;i++ ) { for (int j=0;j<13;j++ ) { int k=36-i-j; if ((4*i+3*j+k/2)==36&&k%2==0) //利用枚举法,要注意,小孩必须为偶数 { System.out.println("男人有"+i+"个"); System.out.println("女人有"+j+"个"); System.out.println("小孩有"+k+"个"); } } } } }

作业:

1. 今天代码全部掌握

2. 编程

a) 编写一个关于7的小游戏.7的倍数/尾数是7/十位数是7的都剔除出去,打印其他数字.开始的数字用Scanner输入.比如:输入8。打印:8,9,10….100结束.

import java.util.Scanner; public class Seven { public static void main(String args[]) { Scanner sc=new Scanner(System.in); System.out.println("请输入起始数字:"); for (int num = sc.nextInt();num<100 ;num++ ) { if (num%7==0) {continue; }else if (num%10==7) {continue; }else if (num/10==7) { }else{ System.out.print(num+"\t"); } } } }

b) 编写一个猜数字的游戏。流程:

i. 先是生成1100的随机数,

ii. 然后请用户输入猜的数字,

iii. 比较两个数字,给出提示(//)

iv. 如果没猜对,重复2 3,直到猜对位置.

import java.util.Random; import java.util.Scanner; public class GuessNum { public static void main(String args[]) { Random r = new Random(); int random = r.nextInt(100)+1; int a=0; boolean b = true; do{ a=a+1; System.out.println("请输入你要猜的数字"); Scanner sc = new Scanner(System.in); //注意有个System.in int num = sc.nextInt(); if (num>random) { b=true; System.out.println("HOHO~大了~"); }else if (num<random) { b=true; System.out.println("HOHO~小了~"); }else { b= false; System.out.println("丫的~让你猜对了"); } }while (b==true); { System.out.println("你一共猜了"+a+"次,才猜中!"); } } }

c) int a = 32; int b=45;

在不出现第三个变量的前提下,转换为b = 32; a = 45;

d) 9870->0789->789

int a = 12345 => 54321

e) 打印1200的所有素数(只能被1和它自身整除的数)

开头是2 3 5 7 11 ………..199

(两重循环+Boolean)

public class sushu { public static void main(String args[]) { for (int i=2;i<=200;i++ ) //对i进行循环表示 { boolean a = true; //定义一个布尔值a,初始为true for(int j=2;j<i;j++) //对j进行循环表示 { if (i%j==0) //如果i能被循环的j中的一个整除 { a=false; //将a改为false break; //跳出for(j)循环 } } if (a==false) //如果a为false { continue; //则跳过此数i } System.out.print(i+"\t"); //打印i } } }

注:关于c)和d)两题,明天再给出答案

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值