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);
    }

}
 
举例:每天跑10圈,跑到第5圈不跑了。

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:每个月的每天跑10圈,突然有一天没有跑。
举例2:从1数到10 ,在要数5的时候直接跳过数10了。

四、包与注释符

  1. 包名是什么

指定包名,相当于文件夹,一般使用倒置的域名如(com.zparkpt.MyJava)

避免冲,如一个项目中有多个同名的类,可以处在不同的包中间
类可以不在任何包中,一个包中也可以有0-N个类
包与文件夹一一对应
包的声明要放在第一行package com.zparkpt.MyJava;

Java类文件名,首字母大写

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

猜你喜欢

转载自www.cnblogs.com/bomily0212/p/12058330.html