概述
0.运算符复习
1.使用Scanner对象从控制台读取数据。
标准输出流:System.out 标准输入流:System.in
Scanner scanner = new Scanner( System.in ); // 在构造器中传入System.in
导入Scanner类 : import java.util.Scanner
创建 Scanner 对象 : 1. Scanner scanner = new Scanner( System.in );
读取int类型数据 : 2. System.out.print("请输入:");
调用scanner对象的 nextInt() 方法 :int age = scanner.nextInt();
打印 System.out.println("age = "+age);
读取字符串:用 next() 方法:但是会因空格终止输入。
用 nextLine() 方法:这个方法不会因为空格终止。两种方法都终止于回车。
2. 流程控制
2.1顺序结构
从前往后一步一步执行。并发----多线程。
2.2分支结构
2.2.1 if
if(判断条件) { 代码块 } 若代码块的语句只有一条,大括号可以省略。
import java.util.Scanner;
pulic class DemoIf{
public static void main(String args[]){
Scanner scanner = new Scanner( System.in );
System.out.print("请输入i:");
int i = scanner.nextInt();
System.out.print("请输入j:");
int j = scanner.nextInt();
if(i>j){
System.out.println(i+" > "+j);
}
if(i < j){
System.out.println(i+" < "+j);
}
System.out.print("请输入flag:");
boolean flag = scanner.nextBoolean();
if( flag ){
System.out.println("flag = true");
}
}
}
2.2.2 if....else
// 创建Scanner对象
Scanner scanner = new Scanner(System.in);
System.out.print("请输入i:");
int i = scanner.nextInt();
System.out.print("请输入j:");
int j = scanner.nextInt();
if (i > j){
System.out.println("i 比 j 大");
} else {
System.out.println("i 小于 或 等于 j");
}
2.2.3 if....else if....else....
// 创建Scanner对象
Scanner scanner = new Scanner(System.in);
System.out.print("请输入i:");
int i = scanner.nextInt();
System.out.print("请输入j:");
int j = scanner.nextInt();
if (i > j){ // 执行条件判断①
System.out.println("i 比 j 大"); // ①为true时执行
} else if (i < j) { // ①为false继续执行下一个条件判断②
System.out.println("i 比 j 小"); // ②为true时执行
} else {
System.out.println("i 和 j 相等"); // ②为false时执行
}
2.2.4 if....else 嵌套
if (i > j){ // 执行条件判断①
System.out.println("i 比 j 大"); // ①为true时执行
} else if (i < j) { // ①为false继续执行下一个条件判断②
System.out.println("i 比 j 小"); // ②为true时执行
} else {
System.out.println("i 和 j 相等"); // ②为false时执行
// 嵌套在其他if...else结构内的if
if (m > n){
System.out.println("m 比 n 大");
}
} // 使用嵌套会影响代码可读性 逻辑复杂 不容易调试
2.4.5 switch....case 语句
字面意思: 切换switch 不同的 情况case 。 切换需要有依据,这就是我们在switch后面的括号要指定的数据。
import java.util.Scanner;
public class DemoSwitchCase {
public static void main(String[] args){
// 创建Scanner对象
Scanner scanner = new Scanner(System.in);
System.out.print("请输入季节:");
String season = scanner.nextLine();
// 使用season变量的值和后面的case依次进行比较
// 遇到一个满足条件的case,那么后面的都会被执行,包括default分支
// 除非在某个case中使用了break关键字,停止了case的执行。
switch(season){
case "spring":
System.out.println("我喜欢春天");
// break ;
case "summer":
System.out.println("我喜欢夏天");
// break ;
case "autumn":
System.out.println("我喜欢秋天");
// break ;
case "winter":
System.out.println("我喜欢冬天");
// break ;
// 当前面每一个case都不匹配时执行default分支(默认分支)
default:
System.out.println("我喜欢梅雨季节");
}
}
}
import java.util.Scanner; // 导包
public class textText {
// switch case 练习1 请从键盘输入岳小鹏的期末成绩,并加以判断
public static void main(String[] args) {
//一、用户输入成绩数据
//创建Scanner对象scanner
Scanner scanner = new Scanner(System.in);
//打印提示信息
System.out.print("请输入分数 : ");
//读取整数
int score = scanner.nextInt();
System.out.println("输入的分数是 : " + score);
//按照不同成绩分段写分支
if (score == 100) {
System.out.println("奖励是BMW" );
}else if(score > 80 && score <= 99){
System.out.println("奖励是iphone" );
}else if(score >= 60 && score <= 80) {
System.out.println("奖励是ipad" );
}else if(score < 60) {
System.out.println("继续努力" );
}else {
System.out.println("成绩不合规" );
}
}
}
import java.util.Scanner;
public class textText1 {
/**
由键盘输入三个整数分别存入变量num1、num2、num3,对它们进行排序,并且从小到大输
出。练习2
*/
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
//读取数据num1
System.out.print("输入num1:");
int num1 = scanner.nextInt();
//读取数据num2
System.out.print("输入num2:");
int num2 = scanner.nextInt();
//读取数据num3
System.out.print("输入num3:");
int num3 = scanner.nextInt();
//比较num1
int swap = 0;
if(num1 > num2) {
swap = num2;
num2 = num1;
num1 = swap;
}
if(num2 > num3) {
swap = num3;
num3 = num2;
num2 = swap;
if(num1 > num2) {
swap = num2;
num2 = num1;
num1 = swap;
}
}
System.out.println("num1 = " + num1 + "nnum2 = " + num2 + "nnum3 = "+num3);
}
}
第九题
大家都知道,男大当婚,女大当嫁。那么女方家长要嫁女儿,当然要提出一定的条件:高:
180cm以上;富:财富1千万以上;帅:是。
如果这三个条件同时满足,则:“我一定要嫁给他!!!”
如果三个条件有为真的情况,则:“嫁吧,比上不足,比下有余。”
如果三个条件都不满足,则:“不嫁!”
*/
import java.util.Scanner;
import java.util.Random;
public class testMarry {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入你的身高:");
int height = scanner.nextInt();
System.out.print("请输入你的财富:");
int money = scanner.nextInt();
System.out.print("请输入你的颜值:");
boolean face = scanner.nextBoolean();
if(height >= 180 && money >= 1000 && face) {
System.out.print("我要给你生猴子!!!");
}else if(height >= 180 || money >= 1000 || face) {
System.out.print("考虑考虑!!!");
}else {
System.out.print("你是个好人!");
}
}
}
/**
我家的狗5岁了,5岁的狗相当于人类多大呢?其实,狗的前两年每一年相当于人类的10.5岁,之后每增加一年
就增加四岁。那么5岁的狗相当于人类多少年龄呢?应该是:10.5 + 10.5 + 4 + 4 + 4 = 33岁。
编写一个程序,获取用户输入的狗的年龄,通过程序显示其相当于人类的年龄。如果用户输入负数,请显示一个提示信息。
*/
import java.util.Scanner;
public class testForDog {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
//读取狗狗年龄
System.out.println("请输入狗狗年龄:");
double dogAge = scanner.nextInt();
//判断狗狗年龄
if (dogAge <= 0) {
System.out.println("请重新输入!");
} else if (dogAge <= 2) {
System.out.println(dogAge + "岁的狗狗相当于人的" + dogAge * 10.5 + "岁");
} else {
double twoYearAge = 2 * 10.5;
double morethanTwoYear = (dogAge-2)*4;
double personAge = twoYearAge + morethanTwoYear;
System.out.println(dogAge + "岁的狗狗相当于人的" + personAge + "岁");
}
}
}
/**
世界最高山峰是珠穆朗玛峰,它的高度是8844.43米,假如我有一张足够大的纸,它的厚度是0.1毫米。
请问,我折叠多少次,可以折成珠穆朗玛峰的高度? 练习1
*/
public class testwhile {
public static void main(String[] args) {
//统一单位
double height = 88444300;
double paper = 1.0;
//记录折纸次数
int count = 0;
//记录折纸厚度
double thickness = paper;
//进入循环
while(thickness <= height) {
thickness *= 2;
count++;
}
System.out.println("thickness = " + thickness);
System.out.println("count = " + count);
}
}
/**
假设你想开发一个玩彩票的游戏,程序随机地产生一个两位数的彩票中奖号码,提示用户输入一个
两位数,然后按照下面的规则判定用户是否能赢。
1)如果用户输入的数匹配彩票的实际顺序,奖金10 000美元。
2)如果用户输入的所有数字匹配彩票的所有数字,但顺序不一致,奖金 3 000美元。
3)如果用户输入的一个数字仅满足顺序情况下匹配彩票的一个数字,奖金1 000美元。
4)如果用户输入的一个数字仅满足非顺序情况下匹配彩票的一个数字,奖金500美元。
5)如果用户输入的数字没有匹配任何一个数字,则彩票作废。
提示:使用(int)(Math.random() * 90 + 10)产生随机数。
Math.random() : [0,1) * 90 [0,90) + 10 [10,100) [10,99]
*/
import java.util.Scanner;
import java.util.Random;
public class testCaiPiao {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
//使用math.random生成随机数
Random rand = new Random();//随机数方法一Random.nextInt()左闭右开区间
int randomInt = rand.nextInt(90)+10;//生成随机数0-100
//获取中奖号码的个个位上的数字
int tenValue = randomInt / 10; //中奖号码十位
int singleValue = randomInt % 10;//中奖号码个位
System.out.println(randomInt);
//double randomDouble = Math.random();//
//System.out.println("randomDouble = " + randomDouble);//生成0-1之间的小数
//乘以100得到两位随机数
//int randomInt = (int)(randomDouble * 100);
//System.out.println("randomInt = " + randomInt);
//读取用户输入
System.out.print("请输入你的中奖号码:");
int userNumber = scanner.nextInt();
int userTenValue = userNumber / 10; //用户输入十位
int userSingleValue = userNumber % 10;//用户输入个位
if(userNumber >= 10 && userNumber <= 99) {
System.out.println("开奖信息:");
System.out.println("用户号码:" + userNumber);
System.out.println("中奖号码:" + randomInt);
if(userNumber == randomInt){
System.out.println("!一等奖!10000元!");
}else if((userSingleValue*10 + userTenValue) == randomInt) {
System.out.println("!二等奖!3000元!");
}else if(userTenValue == tenValue || userSingleValue == singleValue) {
System.out.println("!三等奖!1000元!");
}else if(userTenValue == tenValue || userTenValue == singleValue || userSingleValue == singleValue || userSingleValue == tenValue) {
System.out.println("!四等奖!500元!");
}else {
System.out.println("n !!!@下次一定!!!");
}
}else {
System.out.println("n !!!@下次一定!!!");
}
}
}
/**
从键盘输入“年、月、日”,判断这一天是当年的第几天。
判断闰年的标准:可以被4整除但不能被100整除或可以被400整除
*/
import java.util.Scanner;
public class testYearMonthDay {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("year = ");
int year = scanner.nextInt();
System.out.print("month = ");
int month = scanner.nextInt();
System.out.print("day = ");
int day = scanner.nextInt();
//保存天数
int finalResult = 0;
//保存是否是闰年 默认为false 若是则为true
boolean runYear = false;
if( (year % 4 == 0 && year % 100 != 0 ) || year % 400 == 0) {//是闰年
runYear = true;
}
if( month >= 1 && month <= 12 ) {
switch( month ) {
case 1:
if(day >= 1 && day <= 31) {
finalResult = day;
}else {
System.out.println("输入天数不合法!");
}
break;
case 2:
if(runYear) {
if(day >= 1 && day <= 29) {
finalResult = day + 31;
}else {
System.out.println("输入天数不合法!");
}
}else {
if(day >= 1 && day <= 28) {
finalResult = day + 31;
}else {
System.out.println("输入天数不合法!");
}
}
break;
case 3:
if(day >= 1 && day <= 31) {
finalResult = day + 31 + ((runYear)?29:28);
}else {
System.out.println("输入天数不合法!");
}
break;
case 4:
if(day >= 1 && day <= 30) {
finalResult = day + 31 + ((runYear)?29:28) + 31;
}else {
System.out.println("输入天数不合法!");
}
break;
case 5:
if(day >= 1 && day <= 31) {
finalResult = day + 31 + ((runYear)?29:28) + 31 + 30;
}else {
System.out.println("输入天数不合法!");
}
break;
case 6:
if(day >= 1 && day <= 30) {
finalResult = day + 31 + ((runYear)?29:28) + 31 + 30 + 31;
}else {
System.out.println("输入天数不合法!");
}
break;
case 7:
if(day >= 1 && day <= 31) {
finalResult = day + 31 + ((runYear)?29:28) + 31 + 30 + 31 + 30;
}else {
System.out.println("输入天数不合法!");
}
break;
case 8:
if(day >= 1 && day <= 31) {
finalResult = day + 31 + ((runYear)?29:28) + 31 + 30 + 31 + 30 + 31;
}else {
System.out.println("输入天数不合法!");
}
break;
case 9:
if(day >= 1 && day <= 30) {
finalResult = day + 31 + ((runYear)?29:28) + 31 + 30 + 31 + 30 + 31 + 31;
}else {
System.out.println("输入天数不合法!");
}
break;
case 10:
if(day >= 1 && day <= 31) {
finalResult = day + 31 + ((runYear)?29:28) + 31 + 30 + 31 + 30 + 31 + 31 + 30;
}else {
System.out.println("输入天数不合法!");
}
break;
case 11:
if(day >= 1 && day <= 30) {
finalResult = day + 31 + ((runYear)?29:28) + 31 + 30 + 31 + 30 + 31 + 31 + 30 + 31;
}else {
System.out.println("输入天数不合法!");
}
break;
case 12:
if(day >= 1 && day <= 31) {
finalResult = day + 31 + ((runYear)?29:28) + 31 + 30 + 31 + 30 + 31 + 31 + 30 + 31 + 30;
}else {
System.out.println("输入天数不合法!");
}
break;
default:
System.out.println("输入的month不合法!!!");
}
}
System.out.println(year + "年" + month + "月" + day + "日是第" +finalResult + "天");
}
}
最后
以上就是诚心百合为你收集整理的Java入门视频教程(三)4 Java基本语法------分支流程0.运算符复习1.使用Scanner对象从控制台读取数据。2. 流程控制的全部内容,希望文章能够帮你解决Java入门视频教程(三)4 Java基本语法------分支流程0.运算符复习1.使用Scanner对象从控制台读取数据。2. 流程控制所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复