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:分段函数求值。
f(x)=\begin{cases} 3x+5 & \text (x \lt -1) \\ x-1 & \text (-1 \le x \le 1) \\ 5x-3 & \text (x \gt 1) \end{cases}
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元的 | 3 | 0 |
2 | 超过1500元至4500元的部分 | 10 | 105 |
3 | 超过4500元至9000元的部分 | 20 | 555 |
4 | 超过9000元至35000元的部分 | 25 | 1005 |
5 | 超过35000元至55000元的部分 | 30 | 2755 |
6 | 超过55000元至80000元的部分 | 35 | 5505 |
7 | 超过80000元的部分 | 45 | 13505 |
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-100 | A |
80-89 | B |
60-79 | C |
<60 | D |
程序
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 + "次");}
}
Java复习第二天和第三天相关推荐
- java 第二天,Java复习第二天
1.idea里jar包和war的区别 JAR(JAVA Archive 是类的归档文件),JAR 文件不仅用于压缩和发布,而且还用于部署和封装库.组件和插件程序,并可被像编译器和 JVM 这样的工具直 ...
- Java复习之抽象类和接口
Java复习之抽象类和接口 Java复习之抽象类和接口 什么是抽象类和接口 抽象类与接口的区别 什么情况下使用抽象类或接口 一个demo引起来的对于java方法区堆栈的研究 首先我们需要明白抽象类与接 ...
- Java复习打卡day30
Java复习打卡day30 前置 前置导学 HTML语言 HTML介绍 HTML语言的基础语法 常见标签 文本标签 格式化标签 图像标签 超链接标签 表格标签 表单标签 前置 前面我们主要讲述了Jav ...
- 中国海洋大学-信息系统开发(Java)复习
Java复习 OUC_Shizue 1 Java编译器和执行器 Java编译器和执行器是Java语言的两个核心组件,分别用于将Java源代码编译成Java字节码文件和运行Java字节码文件. Java ...
- Java复习面试知识点
Java复习面试知识点 前言: 简要的记录一下学习到的东西,仅供自己查阅和复习方便.希望该文章能对你有帮助,文章学习自博客和b站UP主的教程 集合: 集合简介: Java标准库自带的java.util ...
- Java复习第11天---11.4---Java8新特性---Stream流常用方法3和综合案例
Java复习第11天---11.4---Java8新特性---Stream流常用方法3和综合案例 目录 文章目录 1.count:计数-终结方法 2.limit:取前几个元素-延迟方法 3.skip: ...
- mysql 时间戳 三天_MySQL格式化时间戳 统计当日,第二天,第三天,3个工作日以后的数据...
mysql 查询出来的处理时间和开始时间都是13位的时间戳 SELECT `END_TIME`,`CREATE_TIME` FROM t_table 需求是统计当日,第二天,第三天,3个工作日以后的时 ...
- Java基础 if if-else if-else if-else 三种示例
JDK :OpenJDK-11 OS :CentOS 7.6.1810 IDE :Eclipse 2019‑03 typesetting :Markdown code ...
- 在c语言中a 这条语句的作用,C语言复习第二章
C语言第二章 C语言复习(第二章) 一.填空 1.若采用十进制数的表示形式,则077为( ),0111为( ),0xab为( ). 2.C语言中的标识符只能由3种字符组成,它们是( ).( )和( ) ...
最新文章
- MySQL_解决ERROR 2006 (HY000) at line XX MySQL server has gone away问题
- 45个实用的JavaScript黑科技
- mysql can_***MySQL错误:Can't connect to MySQL server (10060)
- html5如何传递值,如何将var中的值传递到另一个var
- linux下c和c++互相调用
- WPF里面的常用笔刷
- Gartner 组织世界BI大会,PowerBI 与 Tableau 同台竞技
- 腾讯TBS加载网页无法自适应记录
- 微服务架构设计模式~根据业务能力进行服务拆分
- 训练集、验证集、测试集区分
- Android 无法查看外部依赖jar的源码的问题
- requestparam的作用_关于@RequestMapping和@RequestParam注解(四)
- 横扫六大权威榜单后,达摩院开源深度语言模型体系 AliceMind
- ubuntu 11.10 下network proxy 的设置问题
- MySQL数据常用命令
- win10系统托盘图标不见了_win10托盘图标不显示怎么回事_win10任务栏托盘图标显示不完全如何修复...
- 06-20210308华为海思Hi3516DV300鸿蒙系统的uboot编译
- 广东大学计算机基础教材,21世纪高等学校计算机公共基础课规划教材:大学计算机基础(第2版)...
- 怎么看电脑支持多少兆网速_电脑网速怎么看(电脑怎么看网速多少兆)
- 独家研究 I 某新一线城市中高端养老社区项目(CCRC)入住客户画像深度洞察研究报告