1.Scanner类
为了让测试更加灵活,我们引入Scanner类
步骤:
1.导包(编译工具替我们完成)
2.创建Scanner对象
Scanner sc=new Scanner(System.in)
3.提示用户输入
4.接收用户输入数据
package org.wdit.unit02;
/*Scanner类
步骤 1.导包(编译工具替我们完成)
2.创建Scanner对象
Scanner sc=new Scanner(System.in)
3.提示用户输入
4.接收用户输入数据 */
import java.util.Scanner;
public class ScannerDemo {
//主方法
public static void main(String[] args){
//2.创建Scanner类
Scanner sc = new Scanner(System.in);
//3.提示用户输入
System.out.println("请输入数据:");
//4.接收用户输入数据
int num = sc.nextInt();
//输出该数据
System.out.println(num); }}
2.顺序结构
执行顺序按照代码书写顺序,依次执行
3.选择结构
if选择结构
格式1
if(关系表达式){
语句体
}
格式2
if(关系表达式){
语句体1
}else{
语句体2
}
package org.wdit.unit02.IfDemo;
import java.util.Scanner;
public class IfDemo {
public static void main(String[] args){
// int a=5;
// int b=8;
//格式一
// if (a>b){
// System.out.println("a大于b");
// System.out.println("程序结束");
// }
// //格式二
// if (a>b){
// System.out.println("a>b");
// }else{
// System.out.println("a<b");
// }
Scanner sc=new Scanner(System.in);
System.out.println("请输入a的变量值");
int a = sc.nextInt();
System.out.println("请输入b的变量值");
int b = sc.nextInt();
if (a>b){
System.out.println("a>b");
}else{
System.out.println("a<b");
}
}
}
格式3
if(关系表达式1){
语句体1
}else if(关系表达式2){
语句体2
……
}else{
语句体n;
}
package org.wdit.unit02.IfDemo;
import java.util.Scanner;
public class IfDemo2 {
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
System.out.println("请输入你的成绩:");
int score = sc.nextInt();
if (score>=90){
System.out.println("厉害");
}else if (score>=80){
System.out.println("一般");
}else{
System.out.println("垃圾");
}
}
}
格式4
package org.wdit.unit02.IfDemo;
public class IfDemo3 {
//主方法
public static void main(String[] args){
int a=1;
int b=5;
int c=3;
//判断a与b
if (a>b){
//true:a较大
if (a>c){//判断a与c
//true:a最大
System.out.println("a大");
}else{
//flase:c最大
System.out.println("c大");
}
}else {//flase:b较大
if (b>c){//判断b与c
//true:b最大
System.out.println("b大");
}else{
//flase:c最大
System.out.println("c大");
}
}
}
}
4.switch
switch选择结构:
语法:
switch(表达式){
case 常量1:
语句体1;
case 常量2:
语句体2;
break;
……
default;
语句体n;
}
public class SwitchDemo {
//主方法
public static void main(String[] args){
Scanner sc=new Scanner(System.in);
System.out.println("请输入你的名次:");
int rank = sc.nextInt();
switch (rank){
case 1:
System.out.println("奖励1000元");
break;
case 2:
System.out.println("奖励500元");
break;
case 3:
System.out.println("奖励10元");
break;
default:
System.out.println("一个唐康送给你");
}
}
}
注意事项:
1.case后的值不能重复 表达式中的数据类型只能是:byte、short、int、char、String
2.break 省略会发生case穿透
3.default的位置不影响执行流程,但是如果写在中间,就必须给它加上break
4.结束条件:
a.break
b.default
c.前提:dafault省略。所有情况都不匹配
if语句使用场景:
针对结果是boolean类型的判断
针对一个范围的判断
针对几个常量值的判断
switch语句的使用场景:
针对几个常量值的判断
5.循环结构
循环结构组成:
while循环
初始化语句;
while(判断条件语句){
循环体语句;
条件控制语句;
}
do-while循环
初始化语句;
do{
循环体语句;
条件控制语句;
}while(判断条件语句)
流程控制语句
break:
用来跳出循环(只能终止单层循环)或switch
如果break想跳出外层循环,需要使用标签
continue:
终止当前次循环,执行下一次循环
return:
返回
import java.util.Scanner;
public class ScannerTest {
public static void main(String[] args){
Scanner sc=new Scanner(System.in);
System.out.println("请用户输入姓名:");
String name = sc.next();
System.out.println("请输入出生年:");
String password = sc.next();
System.out.println(name+"最帅");
System.out.println(name+"于"+password+"出生");
}
}
if的列子
package org.wdit.unit02.IfDemo;
import java.util.Scanner;
public class IfDemo {
public static void main(String[] args){
// int a=5;
// int b=8;
//格式一
// if (a>b){
// System.out.println("a大于b");
// System.out.println("程序结束");
// }
// //格式二
// if (a>b){
// System.out.println("a>b");
// }else{
// System.out.println("a<b");
// }
Scanner sc=new Scanner(System.in);
System.out.println("请输入a的变量值");
int a = sc.nextInt();
System.out.println("请输入b的变量值");
int b = sc.nextInt();
if (a>b){
System.out.println("a>b");
}else{
System.out.println("a<b");
}
}
}
package org.wdit.unit02.IfDemo;
import java.util.Scanner;
public class IfDemo2 {
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
System.out.println("请输入你的成绩:");
int score = sc.nextInt();
if (score>=90){
System.out.println("厉害");
}else if (score>=80){
System.out.println("一般");
}else{
System.out.println("垃圾");
}
}
}
package org.wdit.unit02.IfDemo;
public class IfDemo3 {
//主方法
public static void main(String[] args){
int a=1;
int b=5;
int c=3;
//判断a与b
if (a>b){
//true:a较大
if (a>c){//判断a与c
//true:a最大
System.out.println("a大");
}else{
//flase:c最大
System.out.println("c大");
}
}else {//flase:b较大
if (b>c){//判断b与c
//true:b最大
System.out.println("b大");
}else{
//flase:c最大
System.out.println("c大");
}
}
}
}
package org.wdit.unit02;
import java.util.Scanner;
public class IfText {
//主方法
public static void main(String[] args){
//1.创建Scanner对象
Scanner sc = new Scanner(System.in);
//2.提示用户输入
System.out.println("请输入一个正整数:");
//3.声明变量接受用户输入数据
int num = sc.nextInt();
//4.判断这个数是奇数还是偶数
if (num % 2 == 0){
System.out.println(num+"是一个偶数");
}else{
System.out.println(num+"是一个奇数");
}
}
}
package org.wdit.unit02;
import java.util.Scanner;
/**
* 输入一个月份输出季度
*/
public class IfText1 {
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个月份:");
int month = sc.nextInt();
if (month>12){
System.out.println("输入无效");
}else if (month>=9){
System.out.println("第四季度冬季");
}else if (month>=7){
System.out.println("第三季度秋季");
}else if (month>=4){
System.out.println("第二季度夏季");
}else if (month>=1){
System.out.println("第一季度春季");
}else{
System.out.println("输入无效");
}
}
}
switch的列子
package org.wdit.unit02.switchDemo;
import java.util.Scanner;
/**
* switch选择结构:
* 语法:
* switch(表达式){
* case 常量1:
* 语句体1;
* break;
* case 常量2:
* 语句体2;
* break;
* ……
* default;
* 语句体n;
*
* }
*/
public class SwitchDemo {
//主方法
public static void main(String[] args){
Scanner sc=new Scanner(System.in);
System.out.println("请输入你的名次:");
int rank = sc.nextInt();
switch (rank){
case 1:
System.out.println("奖励1000元");
break;
case 2:
System.out.println("奖励500元");
break;
case 3:
System.out.println("奖励10元");
break;
default:
System.out.println("一个唐康送给你");
}
}
}
package org.wdit.unit02.switchDemo;
import java.util.Scanner;
public class SwitchText1 {
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个月份:");
int month = sc.nextInt();
switch (month){
case 1:
System.out.println("第一季度");
break;
case 2:
System.out.println("第一季度春季");
break;
case 3:
System.out.println("第一季度春天");
break;
case 4:
System.out.println("第二季度");
break;
case 5:
System.out.println("第二季度夏天");
break;
case 6:
System.out.println("第二季度夏季");
break;
case 7:
System.out.println("第三季度");
break;
case 8:
System.out.println("第三季度秋天");
break;
case 9:
System.out.println("第三季度秋季");
break;
case 10:
System.out.println("第四季度");
break;
case 11:
System.out.println("第四季度冬天");
break;
case 12:
System.out.println("第四季度冬季");
break;
default:
System.out.println("你的输入无效");
}
}
}
for的列子
package org.wdit.unit02.ForDemo;
/**
* for 循环结构
* 格式:
* for(初始化条件(1);条件判断(2);控制条件语句(4)){
* 循环体(3);
* }
*/
public class ForDemo {
public static void main(String[] args){
for (int i=1;i<=100;i++){
System.out.println(i+"--好好打游戏");
}
}
}
package org.wdit.unit02.ForDemo;
/**
* for 循环练习
* 需求:输出5*5的图形
* 嵌套循环
* 1.外层循环一次,内次循环一周
* 2.外层循环行数,内次循环列数
*/
public class ForDemo1 {
public static void main(String[] args){
// for (int i=0;i<5;i++){
// System.out.println("*****");
// }
for (int i=0;i<5;i++){
for (int j=0;j<5;j++){
System.out.print("*");
}
System.out.println();
}
}
}
package org.wdit.unit02.ForDemo;
/**
*1.输出1-10之间的所有整数
* 2.求1-10之间所有整数之和
*/
public class ForDemo3 {
public static void main(String[] args){
int sum=0;
for (int i=1;i<=10;i++){
sum=sum+i;
System.out.println(i);
}
System.out.println(sum);
//1-100之间偶数之和
//方式一
int sum1=0;
for (int i=0;i<=100;i=i+2){
sum1=sum1+i;
}
System.out.println(sum1);
//方式2
int sum2=0;
for (int i=0;i<=100;i=i++){
if (i%2==0){
sum2 =sum2+ i;
}
}
System.out.println(sum2+"ss");
}
}
package org.wdit.unit02.ForDemo;
/**
* 输出100-999之间所有的水仙花数
* 水仙花数就是每一位上的数值的立方之和依然是其本身
* 各位:num%10;
* 十位:num/10%10;
* 百位:num/100
*/
public class ForDemo4 {
public static void main(String[] args){
int count = 0;
for (int i = 100;i<1000;i++){
int ge=i%10;
int shi=i/10%10;
int bai=i/100;
if (i==(ge*ge*ge+shi*shi*shi+bai*bai*bai)) {
System.out.println("水仙花数:" + i);
count++;
}
}
System.out.println("100-999之间的水仙花数:"+count);
}
}
package org.wdit.unit02.ForDemo;
/**
* 需求:输出指定形状
* *
* **
* ***
* ****
* *****
*/
public class ForDemo5 {
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();
}
}
}
package org.wdit.unit02.ForDemo;
/**
* 输出99乘法表
*/
public class ForDemo6 {
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 + "=" + (j*i) +"\t");
}
System.out.println();
}
}
}
package org.wdit.unit02.ForDemo;
public class ForDemo44 {
public static void main(String[] args){
int sum=0;
for (int i=0;i <= 100;i++){
if (i % 2 == 0){
sum = sum+ i;
}
}
System.out.println(sum);
}
}