java输入与分支语句

Java SE

  • 一、数据类型
  • 二、输入包(Scanner)
  • 三、流程控制
    • 1.if分支
    • 2.多条件判断
    • 3.switch开关分支
    • 4.for循环
    • 5.while循环
    • 6.do-while循环(无论条件如何,我先执行一次)
  • 四、包与注释符

一、数据类型

分为基本数据类型和引用数据类型

1.常用基本类型

基本数据类型占内存取值范围默认值
byte 1字节 -128~127 (byte)0
short 2字节 -32768~32767 (short)0
int 4字节 -2147483648~2147483647(-215~215-1) 0
long 8字节 -9223372036854775808L~9223372036854775807L(-231~231-1) (byte)0
float 4字节 对于负数-3.402823E38~-1.401298E-45
对于正数1.401298E-45~3.402823E38
0.0F
double 8字节 对于负数-1.79769313486232E308~4.94065645841247E-324
对于正数4.94065644841247E-324~1.79769313486232E308
0.0D
char 2字节 unicode字符,用单引号括起来 '\u0000'
boolean 1字节 true,false false

double是64位

----------
简单类型 boolean byte char short int long float double void
二进制位数 1 8 16 16 32 64 32 64 -
封装器类型 Boolean Byte Character Short Integer Long Float Double Void

 

public class Demo1 {

    public static void main(String[] args) {

        //数字
        //整型
        int i1=100;
        //长整型
        long i2=998877665544332211l;
        //短整型
        short i3=235;
        //浮点型
        double d1=3.5;  //双精度
        double d2=3;
        float f1=(float)3.5;   //单精度
        float f2=3.5f;   //单精度

        //布尔类型 boolean true真/false假
        boolean isPass=true;
        boolean isOk=false;
        boolean isBig=5>8;
        if(isPass){
            System.out.println("通过了");
        }else{
            System.out.println("未通过");
        }

        //单字符
        char f='女';
        char m='男';

        //字符串
        String s1="Hello 中文!";
        String s2=1+"";  //转换成String

    }

}
实例

 


类型转换

 

  • 自动转换

小转大,类型匹配

double d=5;
String s="Hello"+9527
  • 强制转换

大转小,类型适应(数字转数字),格式下,小括号中要放的是转换的类型

int i=(double)198.5;
  • 不同类型的强制转换
String name = "9527";
int brother = Integer.parseInt(name) + 1;
System.out.println(brothe
double d = Double.parseDouble(name);
Boolean.parseBoolean(name);
float f = Float.parseFloat(name);

二、输入包(Scanner)

看使用方法

 

//导入包,同一个包不用导入直接使用,不同的包需导入
import java.util.Scanner;

/**
 * 输入
 * @author Administrator
 *
 */
public class Math {

    public static void main(String[] args) {
        //获取输入值
        Scanner input=new Scanner(System.in);

        //定义变量
        int n=input.nextInt();  //等待输入

        //String name=input.next();  //输入字符
        //float mark=input.nextFloat();  //输入单精度数字
        //double pi=input.nextDouble();  //输入双精度数字

        //条件 判断
        if(n==0){
            System.out.println("零");
        }else if(n%2==1){  //如果一个数与2求余为1
            System.out.println("奇数");
        }else{
            System.out.println("偶数");
        }
    }

}


输出3位数到指定数之间的中能同时被3或5整除的数

 

import java.util.Scanner;

public class InputDemo {

    public static void main(String[] args) {

        //获取控件
        Scanner input=new Scanner(System.in);

        System.out.print("请输入n:");
        //从键盘输入
        int n = input.nextInt();

        for (int i = 100; i <= n; i++) {
            if(i%3==0&&i%5==0){
                System.out.println(i);
            }
        }

    }

}

 

  1. 导入包
    同一个包中的类可以直接引用
    不同包中的类型需要导入,使用import,import java.util.Scanner;
    如需使用某个包下的所有类,则使用*号,如import java.util.*;
  2. 创建输入
    Scanner input=new Scanner(System.in);

    System.out.print("请输入一个数:");
    //定义变量
    int n=input.nextInt();  //等待输入

注意next()方法

三、流程控制

1.if分支

语法格式

if(判断条件){
    //true的话输出结果
}
if(判断条件){

}else{
    //false的话输出结果
}

示例:首先判断你输入的数值是否为0,然后判断你输入的是奇数还是偶数

/**
 * 判断一个数是奇数还是偶数
 * @author Administrator
 *
 */
public class Math1 {

    public static void main(String[] args) {
        //定义变量
        int n=0;

        //条件 判断
        if(n==0){
            System.out.println("零");
        }else if(n%2==1){  //如果一个数与2求余为1
            System.out.println("奇数");
        }else{
            System.out.println("偶数");
        }
    }

}

 

2.多条件判断

语法格式

 

    if(第一个条件){

    }else if(第二个条件){

    }else if(第三个){

    }else if(第四个){

    }
    ...第n个
    }


示例:if-else 输入年龄,判断年龄段
0-30 青年
31-60 中年
61-90 老年
晚年

import java.util.Scanner;

/**
 * do-while 输入年龄,介于1-100之间
 *
 */
public class Math8 {

    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        int age = 0;
        String range = "";

        System.out.print("请输入年龄:");
        age = input.nextInt();

        System.out.println("年龄是:" + age);

        if (age >= 0 && age <= 30) {
            range = "青年";
        } else if (age >= 31 && age <= 60) {
            range = "中年";
        } else if (age >= 61 && age <= 90) {
            range = "老年";
        } else {
            range = "晚年";
        }

        System.out.println("年龄段是:" + range);

    }

    // 0-30 青年
    // 31-60 中年
    // 61-90 老年
    // 晚年

}

练习:商场搞活动,满2000打5折,满1000打7折,满500打9折,不到500不打折

3.switch开关分支

语法格式

 

switch(条件判断){
    case 1:
        system.out.println("输出结果");
    break;
    default:
        ...
    break;
}


示例:输出一周

 

import java.util.Scanner;

public class Math9 {

    public static void main(String[] args) {

        Scanner input = new Scanner(System.in);
        int week = 0;
        System.out.print("请输入周:");
        week = input.nextInt();

        switch (week) {   //char int
        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;
        default:
            System.out.println("输入错误");
            break;
        }


    }

}

 

  1. 判断条件
  2. case 符合后面值的条件往下执行
  3. break 结束本次执行
  4. default 当条件判断不符合以上case中任意一种时给出的结果

4.for循环

语法格式

 

for(int i = 0 ;i <= 10;i++){
    //循环体
}


示例:循环输出1-10的数字

 

for(int i = 0;i <10;i++){
    System.out.println(i+1)
}

练习:for循环计算1到该数间能被3和5同时整除的数之和

5.while循环

语法格式

 

while(循环次数){
    //循环体
    i++;
}


示例:输出1-10

    int i = 0
    while(i < 10){
        System.out.println(i+1);
        i = i+1;
    }

 

练习:循环输出1-10内所有的奇数

6.do-while循环(无论条件如何,我先执行一次)

语法格式

 

do{
    //循环体
}while(条件为true时继续)


示例do-while 输入年龄,介于1-100之间时输出。

 

 

import java.util.Scanner;

/**
 * do-while 输入年龄,介于1-100之间
 *
 */
public class Math8 {

    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        int age = 0;

        do {
            System.out.print("请输入年龄:");
            age = input.nextInt();
        } while (age < 1 || age > 100);   //条件为真,循环继续

        System.out.println("年龄是:" + age);
    }

}

 


break 结束当前循环

 

import java.util.Scanner;

/**
 * while循环计算1到该数间能被3和5同时整除的数之和
 *
 */
public class Math6 {

    public static void main(String[] args) {
        Scanner input=new Scanner(System.in);
        System.out.print("请输入一个数:");
        int n=input.nextInt();
        int i=1,sum=0;

        while(i<=n){
            if(i%3==0&&i%5==0){
                sum=sum+i;
                System.out.println(i);
                break;
            }
            i++;
        }

        System.out.println("总和是:"+sum);
        System.out.println("i的值:"+i);
    }

}
 

 

continue:结束当次循环,继续下一次循环

import java.util.Scanner;

/**
 * while循环计算1到该数间能被3和5同时整除的数之和
 *
 */
public class Math7 {

    public static void main(String[] args) {
        Scanner input=new Scanner(System.in);
        System.out.print("请输入一个数:");
        int n=input.nextInt();
        int i=1,sum=0;

        while(i<=n){
            if(i%3==0&&i%5==0){
                sum=sum+i;
            }
            i++;
            if(i<=15) {continue;}
            System.out.println(i);
        }

        System.out.println("总和是:"+sum);
        System.out.println("i的值:"+i);
    }

}

四、包与注释符

  1. 包名是什么指定包名,相当于文件夹,一般使用倒置的域名如(com.zparkpt.MyJava)避免冲,如一个项目中有多个同名的类,可以处在不同的包中间,类可以不在任何包中,一个包中也可以有0-N个类

包与文件夹一一对应


包的声明要放在第一行package com.zparkpt.MyJava;

 

Java类文件名,首字母大写

  1. 注释符
    Javadoc
    这里注意,开头第一个斜杠后是两个星号,每一个换行前都要有一个星号
    /**
     * Java类文件说明
     * @author Author 
     * @version 1.0.1
     * 文档注释
     */
     
    
    单行注释
    //这里是单行注释符,两个斜杠
    
    多行注释
    /*
       这里是多行注释,在开和和结尾各家一个斜杠和星号的符号,注意顺序
    */

     

posted @ 2019-12-18 10:04  离数  阅读(466)  评论(0编辑  收藏  举报