Java自用作业
2023-09-12 21:46:03 5 举报
AI智能生成
a啊啊啊
作者其他创作
大纲/内容
循环结构
枚举
枚举本质上是一个类,枚举类
枚举类中可以有多个枚举项(枚举类的对象)
注解
概念
注解是一个标记,给类、方法、变量添加一些额外的信息
内置注解
@Override
标记一个方法是重复父类方法
@Deprecated
标记一个方法已过时
@SuppressWarnings
压制警告
元注解
@Retention
RetentionPolicy.RUNTIME
注解在运行时有效
RetentionPolicy.SOURCE
注解在源代码时期有效
RetentionPolicy.CLASS
注解在字节码时期有效
@Target
ElementTYpe.TYPE
注解可以使用在类上
ElementType.METHOD
注解可以在使用在方法上
ElementType.FIELD
注解可以使用在变量上
反射
反射可以获取一个类的各个组成部分(成员变量、成员方法、构造方法)
获取字节码子主题
Class.forName("包名.类名")子主题
对象名.getClass()
类名.class
获取构造方法
getConstructor()
获取公有的-----------------
getDeclaredConstructor()
获取所有的构造方法
获取成员变量
getField()
获取公有的成员变量
getDeclaredField()
获取所有的成员变量
获取成员方法
getMethod()
获取公有的成员方法
getDeclaredMethod()
获取所有的成员变量
流程控制语句
分支结构
if语句
1. if是该语句中的关键字,后续小括号不可省略;<br>2. 条件表达式返回的结果为布尔型,当返回为真值时才能执行if功能代码;<br>3. 功能代码块为多行时,应将其放在花括号"{}"中间,当功能代码块为单行时,则不需要花括号;<br>4. 不论if语句块是单行还是多行,建议都用花括号"{}"括起来;<br>5. if()子句后不能跟分号";"
if语句(二选一)<br>在程序的执行过程中,if语句只执行条件表达式返回值为真时的操作。但如果需要返回值为真或假时都执行各自相应操作,就可以使用if-else语句来完成
当条件为多个时,Java提供了专门的多分支if- else if -else语句以实现条件的多重选择
f-else if-else语句的代码执行过程为:<br>1.当条件表达式1返回值为真时,则执行功能代码块1;<br>2.当条件表达式1返回值为假时且条件表达式2返回值为真时,则执行功能代码块2;<br>3.如果条件表达式1、条件表达式2都返回假且条件表达式3返回值为真,则执行功能代码块3,<br>4.依次类推,如果所有条件都不成立,则执行else语句的功能代码。<br><br>
switch语句
switch(表达式){<br> case 取值1:<br> 语句块1;<br> [break;]<br> case 取值2:<br> 语句块2;<br> [break;]<br> ......<br> case 取值n:<br> 语句块n;<br> [break;]<br> default:<br> 语句块n+1;<br> }
1. 表达式的类型只能为byte、short、char、int,在JDK7中增加了对String类型的支持;<br>2. case语句是标号语句,只确定程序的入口;<br>3. 值1、值2......值n只能为常数或常量,不能为变量,而且值不能重复;<br>4. 功能代码部分可以写任意多句;<br>5. break关键字结束switch语句,为可选项;<br>6. default语句功能类似于if-else语句中的else
循环结构
while语句
while(循环条件){<br> 循环体;<br>}
1. 循环条件的类型为布尔类型,指循环成立的条件;<br>2. 花括号{}不是必须的,当循环体中只有一条语句时,可以省略;<br>3. 循环体是需要重复执行的代码。
do-while语句<br>
do{<br> 循环体;<br>}while(循环条件);<br>
1. 循环体是重复执行的代码部分,循环条件要求是布尔类型,值为true时执行循环体,否则循环结束,最后整个语句以分号结束;<br>2. do-while语句是 "先循环再判断"的流程控制结构。<br>
for语句
for(表达式1;表达式2;表达式3){<br> 循环体;<br>}
1. 表达式1用于初始化,一般书写变量初始化的代码,例如循环变量的声明、赋值等,它在for语句中执行且只执行一次。表达式1可以为空;<br>2. 表达式2是循环条件,要求必须为布尔类型,如果该条件为空,则默认为true,即条件成立;<br>3. 表达式3为迭代语句,是指循环变量变化的语句,一般书写i++、i--这样的结构。该语句可以为空。<br>4. 循环体指循环重复执行的功能代码。<br>5. 花括号{}不是必须的,当循环体部分只有一条语句时可以省略。
嵌套循环
程序中常用的一种方法,如果在一个循环语句A中又包含另一个循环语句B,那么语句A就是嵌套循环语句,这种结构称为循环嵌套。内嵌的循环B中还可以嵌套循环C,这就是多层循环。语句A也称为主循环或者外循环,B称为内循环。
死循环
循环语句中如果循环条件永远为真,那么这样的循环就是死循环。死循环的破坏力极强,导致软件的其它功能无法执行,而且只能通过杀死线程、结束进程等方法被动解除,所以一般情况下都要在代码中避免死循环的出现。<br>由于死循环识别算法实现困难,所以,当前任何编译系统都不做死循环检查,因此在开发过程中需要程序员认真对待,做到绝对避免。
控制语句的应用<br>
水仙花问题
public class Narcissus {<br> public static void main(String args[]) {<br> for (int i = 100; i < 1000; i++) { // 循环所有三位数<br> int a = i % 10; // 拆分出个位数字<br> int b = (i / 10) % 10; // 拆分出十位数字<br> int c = i / 100; // 拆分出百位数字<br> // 判断立方和是否等于自身<br> if (a * a * a + b * b * b + c * c * c == i) {<br> System.out.println(i);<br> }<br> }<br> }<br>}
求两个自然数的最大公约数
求8和2的最大公约数 public class CommonDivisor1 {<br> public static void main(String[] args) {<br> int m = 8;<br> int n = 12;<br> int result = 1;<br> for (int i = 1; i <= m; i++) {<br> if ((m % i == 0) && (n % i == 0)) {<br> result = i;<br> }<br> }<br> System.out.println(result);<br> }<br>}
百元百鸡问题<br>
打印图形
public class StarPrint {<br> public static void main(String[] args) {<br> for (int row = 1; row <= 5; row++) { // 外层循环执行换行<br> // 打印空格的数量为5减去所在行数<br> for (int c1 = 0; c1 < 5 - row; c1++) {<br> System.out.print(' ');<br> }<br> // 打印星号的数量为所在行数的2倍减1<br> for (int c2 = 0; c2 < 2 * row - 1; c2++) {<br> System.out.print('*');<br> }<br> // 换行<br> System.out.println();<br> }<br> }<br>}
质数判断
public class Exponent {<br> public static void main(String[] args) {<br> int n = 29;<br> boolean b = true; //布尔类型,表示是否为质数,初始值为真<br> for (int i = 2; i < n; i++) {<br> //若能够整除则不是质数<br> if (n % i == 0) {<br> b = false;<br> break; //跳出循环<br> }<br> }<br> //输出结果,判断是否为质数<br> if (b) {<br> System.out.println(n + "是质数");<br> } else {<br> System.out.println(n + "不是质数");<br> }<br> }<br>}
0 条评论
下一页