Java复习第二天和第三天

第二天:数据类型和常用运算

基本语言元素
关键字:程序中有特殊含义和通途的单词
标识符:给变量、方法、类等起的名字

    - 字母、数字、下划线和$,数字不能开头
    - 大小写敏感(区分大小写)
    - 不能跟关键字相同,不能包含特殊字符
    - 见名知意,驼峰标识

运算符:指定某种运算的特殊符号

    - 算术运算符:+、-、*、/、%
    - 赋值运算符:=、+=、-=、*=、/=、%=、……
    - 关系运算符:>、<、>=、<=、==、!=
    - 短路运算符:&&、||
    - 条件运算符:? :
    - 自增自减运算符:++、--
    - 类型转换运算符:()
    - 其他运算符:逻辑运算符、位运算符、移位运算符、下标运算符、成员运算符等

字面量:程序中不变的部分

1.引用型字面量:null
2.布尔型字面量:true和false
3.字符型字面量:‘q’,‘\n’,‘\t’,‘\ddd’[*]
4.整型字面量:29,035,0x1d
5.实型字面量:3.14,.25e2,5.5f
6.字符串字面量:“Hello, world”
7.类字面量:String.class,int.class

分隔符:空格、花括号、方括号、圆括号、分号、逗号、冒号等

  • 数据类型

    • 基本类型(primitive type)

      • 整型:byte、short、int、long
      • 实型:float、double
      • 布尔型:boolean
      • 字符型:char
    • 枚举类型(enumeration type):用于定义符号常量。

    • 引用类型(reference type):除了基本数据类型和枚举类型,剩下的类型都是引用类型。

变量和常量

- 变量:计算机语言中能储存计算结果或能表示值抽象概念。变量可以通过变量名访问。在指令式语言中,变量存储的值通常是可变的,因此称之为变量。
- 常量:在程序运行时,不会被修改的量。Java中可以使用final关键字定义常量。

练习1:输入两个数找出其中较大的那个数。

package com.lovoinfo;

import java.util.Scanner;

public class FindMax {

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.print("请输入两个数: ");
        int a = sc.nextInt();
        int b = sc.nextInt();
        /*
        if(a >= b) {
            System.out.println(a);
        }
        else {
            System.out.println(b);
        }
        */
        System.out.println(a >= b? a : b);
        sc.close();
    }
}

练习2:输入身高(cm)和体重(kg)判断身材是否正常。判断标准"身高-110>=体重"认为是正常的。

package com.lovoinfo;

import java.util.Scanner;

public class AreYouFat {

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.print("请输入你的名字: ");
        String name = sc.nextLine();
        System.out.print("请输入你的身高: ");
        int height = sc.nextInt();
        System.out.print("请输入你的体重: ");
        int weight = sc.nextInt();
        /*
        if(height - 110 >= weight) {
            System.out.println(name + "的身材正常!");
        }
        else {
            System.out.println(name + "是个胖子!");
        }
        */
        System.out.println(name +
            (height - 100 >= weight? "身材正常!" : "是个胖子!"));
        sc.close();
    }
}

练习3:输入一个年份,判断是不是闰年。

package com.lovoinfo;

import java.util.Scanner;

public class IsLeapYear {

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.print("请输入一个年份: ");
        int year = sc.nextInt();
        if((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {
            System.out.println(year + "是闰年");
        }
        else {
            System.out.println(year + "不是闰年");
        }
        sc.close();
    }
}

练习4:输入圆的半径,计算圆的周长和面积。

package com.lovoinfo;

import java.util.Scanner;

public class CalcCircle {

    private static final double PI = 3.14;

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.print("请输入圆的半径: ");
        double radius = sc.nextDouble();
        double area = PI * radius * radius;
        double circumference = 2 * PI * radius;
        System.out.println("周长: " + circumference);
        System.out.println("面积: " + area);
        sc.close();
    }
}

练习5:输入三个整数,按从小到大的顺序输出。

package com.lovo;

import java.util.Scanner;

public class SortThreeNumber {

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.print("请输入三个数: ");
        int a = sc.nextInt();
        int b = sc.nextInt();
        int c = sc.nextInt();
        if(a > b) {
            int temp = a;
            a = b;
            b = temp;
        }
        if(a > c) {
            int temp = a;
            a = c;
            c = temp;
        }
        if(b > c) {
            int temp = b;
            b = c;
            c = temp;
        }
        System.out.printf("%d\t%d\t%d\n", a, b, c);
        sc.close();
    }
}

作业:输入三个整数,输出其中最大的数。

第三天:程序逻辑-1(分支和循环)

  1. 程序的结构
  2. 流程图
  3. 分支结构
  4. 循环结构
  5. 多重循环结构

练习1:分段函数求值。

f(x)=3x+5x15x3(x<1)(1x1)(x>1)

package com.lovoinfo;

import java.util.Scanner;

public class Fx {

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.print("x = ");
        double x = sc.nextDouble();
        double y;
        if(x < -1) {
            y = 3 * x + 5;
        }
        else if(x <= 1) {
            y = x - 1;
        }
        else {
            y = 5 * x - 3;
        }
        System.out.println("f(x) = " + y);
        sc.close();
    }
}

练习2:个人所得税计算。在我国,个人所得税的起征点是3500元,计算公式是:
个人所得税 = (工资收入 - 五险一金 - 个税起征点) * 税率 - 速算扣除数
其中,税率和速算扣除数可以查下表得到:

级数含税级距税率速算扣除数
1不超过1500元的30
2超过1500元至4500元的部分10105
3超过4500元至9000元的部分20555
4超过9000元至35000元的部分251005
5超过35000元至55000元的部分302755
6超过55000元至80000元的部分355505
7超过80000元的部分4513505
package com.lovoinfo;

import java.util.Scanner;

public class Tax {

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.print("请输入工资: ¥");
        double salary = sc.nextDouble();
        double add = salary - salary * 0.08 - 3500;
        double tax;
        if(add <= 0) {
            tax = 0;
        }
        else if(add <= 1500) {
            tax = add * 0.03;
        }
        else if(add <= 4500) {
            tax = add * 0.1 - 105;
        }
        else if(add <= 9000) {
            tax = add * 0.2 - 555;
        }
        else if(add <= 35000) {
            tax = add * 0.25 - 1005;
        }
        else if(add <= 55000) {
            tax = add * 0.3 - 2755;
        }
        else if(add <= 80000) {
            tax = add * 0.35 - 5505;
        }
        else {
            tax = add * 0.45 - 13505;
        }
        System.out.printf("需要缴纳的个人所得税: ¥%.2f元\n", tax);
        sc.close();
    }
}

作业:输入一个百分制的成绩,将其转换成对应的等级,规则如下表所示:

成绩等级
90-100A
80-89B
60-79C
<60D

程序

package Java23;
import java.util.Scanner;
public class CheJi {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入分数");
        int X = sc.nextInt();
        if(X<60)
            System.out.println("D");
        else if(X<80)
            System.out.println("C");
        else if(X<90)
            System.out.println("B");
        else 
            System.out.println("A");

        sc.close();
    }

}

练习4:输入成绩等级输出对应的评语,规则如下表所示:

成绩等级评语
A该生成绩优异,学习踏实认真
B该生积极上进,学习态度较好
C该生学习努力,成绩有待提高
D该生成绩稳定,动手能力很强

package com.lovoinfo;

import java.util.Scanner;

public class CommentSystem {

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.print("请输入成绩等级: ");
        char level = sc.next().charAt(0);
        switch(level) {
        case 'a':
        case 'A':
            System.out.println("该生成绩优异,学习踏实认真");
            break;
        case 'b':
        case 'B':
            System.out.println("该生积极上进,学习态度较好");
            break;
        case 'c':
        case 'C':
            System.out.println("该生学习努力,成绩有待提高");
            break;
        case 'd':
        case 'D':
            System.out.println("该生成绩稳定,动手能力很强");
            break;
        default:
            System.out.println("瓜西西,输错了!");
        }
        sc.close();
    }
}

练习5:将一颗色子掷60000次,统计每一面出现的次数。

package com.lovoinfo;

public class ThrowDie {

    public static void main(String[] args) {
        int f1 = 0, f2 = 0, f3 = 0, f4 = 0, f5 = 0, f6 = 0;
        for(int i = 1; i <= 60000; i++) {
            int face = (int)(Math.random() * 6 + 1);
            switch(face) {
            case 1: f1++; break;
            case 2: f2++; break;
            case 3: f3++; break;
            case 4: f4++; break;
            case 5: f5++; break;
            case 6: f6++; break;
            }
        }
        System.out.println("1点出现了" + f1 + "次");
        System.out.println("2点出现了" + f2 + "次");
        System.out.println("3点出现了" + f3 + "次");
        System.out.println("4点出现了" + f4 + "次");
        System.out.println("5点出现了" + f5 + "次");
        System.out.println("6点出现了" + f6 + "次");
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值