##键盘输入
import java.util.Scanner;
public class TestScanner{
public static void main(String[] args){
Scanner scanner = new Scanner(System.in);
System.out.println("请输入名字 :");
String name = scanner.nextLine();
System.out.println("请输入爱好:");
String favor = scanner.nextLine();
System.out.println("请输入你的年龄:");
int age = scanner.nextInt();
System.out.println("###################");
System.out.println(name);
System.out.println(favor);
System.out.println("来到地球的天数:"+age*365);
System.out.println("离开地球的天数:"+(72-age)*365);
}
}
控制语句:顺序结构,选择结构,循环结构
随机数:Math.random()//大于等于0小于1的随机数,即[0,1)
if单选结构
if(...){
System.out.println("....")
}
10<=i<=15//错误写法
i>=10&&i<=15//正确写法
掷骰子
public class TestIf{
public static void main(String[] args){
double d = Math.random();//返回[0,1)的随机数
System.out.println(d);
int i = (int)(6*Math.random()+1);
System.out.println(i);
if(i<=3){
System.out.println("小");
System.out.println("小小小");
}
System.out.println("#####################");
//通过掷三个骰子看看今天手气如何?
int a = (int)(6*Math.random() + 1);
int b = (int)(6*Math.random() + 1);
int c = (int)(6*Math.random() + 1);
int count = a + b + c;
//如果三个骰子的和大于15,则手气不错
if(count>15){
System.out.println("今天手气不错");
}
//如果三个骰子的和在10到15之间,则手气一般
if(count>=10&&count<=15){
System.out.println("今天手气一般");
}
//如果三个骰子的和小于10,则手气不怎么么样
if(count<10){
System.out.println("今天手气不怎么么样");
}
System.out.println("得了" + count + "分");
}
}
if-else双选择结构
public class TestIfelse{
public static void main(String[] args){
//随机产生一个[0.0,4.0)区间的半径,并根据半径求圆的面积和周长
double r = 4*Math.random();
//面积
double area = Math.PI*Math.pow(r,2);
//周长
double circle = 2*Math.PI*r;
System.out.println("半径为:" + r);
System.out.println("面积为:" + area);
System.out.println("周长为:" + circle);
}
}
if-else if-else 多选择结构
public class TestIfElseIfElse{
public static void main(String[] args){
int age = (int)(100*Math.random());
System.out.println("年龄是" + age + ",属于");
if(age < 15){
System.out.println("儿童,喜欢玩");
}else if(age < 25){
System.out.println("青年,要学习");
}else if(age < 45 ){
System.out.println("中年,要工作");
}else if(age < 65){
System.out.println("中老年,要补钙!");
}else if(age < 85){
System.out.println("老年,多运动!");
}else{
System.out.println("老寿星,古来稀!");
}
}
}
switch多选择结构(多值)
switch会一直执行到break语句处
public class TestSwitch{
public static void main(String[] args){
char c = 'a';
int rand = (int)(26*Math.random());
char c2 = (char)(c + rand);
System.out.print(c2 + ":");
switch(c2){
case'a':
case'e':
case'i':
case'o':
case'u':
System.out.println("元音");
break;
case'y':
case'w':
System.out.println("半元音");
break;
default:
System.out.println("辅音");
}
}
}
##注意注意注意
当布尔表达式是等值判断时,可以使用if-else if-else多选择结构或者switch结构(建议使用switch),但当布尔表达式区间判断是,则只能使用if-else if-else结构
##测试while
public class TestWhile {
public static void main(String[] args){
int i = 1;
int sum = 0;
while(i<=100){
sum = sum + i;
i++;
}
System.out.println(sum);
}
}
注意注意注意
while是先判断后执行,do while先执行后判断
##for循环
public class TestFor {
public static void main(String[] args){
int sum = 1;
for(int i=1;i<=4;i++){
sum = sum * i;
}
System.out.println(sum);
/**
*1.执行初始化语句: i=1;
*2.判断i<=4;
*3.执行循环体;
*4.步进迭代:i++
*5.回到第二步继续判断
*/
}
}
for循环中可使用逗号,同时计算多个变量
for(;😉//while(true) 都表示无限循环
在for语句的初始化部分声明的变量,其作用域为整个for循环体,不能在循环体外部使用变量。而while语句的初始化在while循环外部可以被识别
##嵌套循环
public class TestNestedLoop {
public static void main(String[] args) {
for (int m = 1;m <= 9; m++) {//换行
for (int n = 1; n <=m;n++) {//不换行
System.out.print(n + "*" + m + "=" + (m * n) + "\t");
}
System.out.println();
}
}
}
计算100以内的奇数和偶数和
public class OddEven {
public static void main(String[] args) {
int sum1 = 0;
int sum2 = 0;
for (int i = 1; i <= 100; i++) {
if (i % 2 == 0) {//偶数
sum1 += i;
} else {//奇数
sum2 += i;
}
}
System.out.println("奇数和:" + sum2);
System.out.println("偶数和:" + sum1);
}
}
##输出1000以内被5整除的数,且每行输出5个
public class DividedByFive {
public static void main(String[] args){
for(int i=1;i<=1000;i++){
if(i%5==0){
System.out.print(i+"\t");
}
if(i%25==0){
System.out.println();
}
}
}
}
或者
public class DividedByFive {
public static void main(String[] args){
int h = 0;
for(int i=1;i<=1000;i++){
if(i%5==0){
System.out.print(i+"\t");
h++;
}
if(h==5) {
System.out.println();
h = 0;
/*if(i%25==0){
System.out.println();
*/
}
}
}
}
##continue
//把100和150之间不能被3整除的数输出,且每行输出五个
public class TestContinue {
public static void main(String[] args) {
int count = 0;
for (int i = 100; i <= 150; i++) {
if (i % 3 == 0) {
continue;
}
System.out.print(i + ",");
count++;
if (count % 5 == 0) {
System.out.println(i);
count = 0;
}
}
}
}
##break
public class TestBreak {
public static void main(String[] args){
int total =0;//定义计时器
System.out.println("Begin");
for(;;){
total++;
int i = (int)Math.round(100*Math.random());
System.out.println(i);
if(i==88){
break;
}
}
System.out.println("Game over,used " + total + " times");
}
}
##continue plus
//用带标签的continue打印101到150之间的质数
public class TestContinuePlus {
public static void main(String[] args){
int count =0;
outer:for(int i=101;i<=150;i++){
for(int j=2;j<i/2;j++){
if(i%j==0){
continue outer;
}
}
System.out.print(i+" ");
count++;
if(count%5==0){
System.out.println();
}
}
}
}