前提说明,我就是一个小白,把自己的学习经验分享给大家,其中肯定有很多不足和错误,还希望大神能指点一下。
我这里所用的是jdk9.0下的oxygen版本的Eclipse,下面是官方下载器链接
链接:https://pan.baidu.com/s/1FqH5Ntw0C_JVPWe4x3E0BQ 密码:8hm2
也可以自己去官网下载,jdk也可以在官网上下载,具体安装我就不说了,下面开始复习吧。
基本操作
1.Hello World,作为每一门语言的第一个程序。
package Test;
public class Test1 {
// alt+/+enter,自动生成main方法
public static void main(String[] args) {
// syso+/+enter,自动生成输出语句
System.out.println("Hello world!");
}
}
在这里加了一个Scanner包,目的是为了介绍一些快捷键。比如: alt+/+enter 可以自动生成main方法; syso+/+enter 可以自动生成输出语句。这个就是最简单的输出了。
2.判断
举例:输入一个年龄,判断是否大于18岁,如果大于18岁则输出已成年,小于18岁则未成年。
package Test;
import java.util.Scanner;//ctrl+shift+o
public class Test2 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入一个年龄:");
int age = scanner.nextInt();
/*
* if (age >= 18) { System.out.println("已成年"); } else System.out.println("未成年");
*/
String s = age >= 18 ? "已成年" : "未成年";
System.out.println(s);
}
}
说明:Scanner是输入方法,使用时需要先调用scanner包,快捷键是 ctrl+shift+o。这里给了两种比较方法,一种是普通的if判断语句,另一种是比较语句 X:A?B 意思是若X成立,则取A,否则取B。
3.多重判断
举例:输入一个分数,判断该分数所属的等级
package Test;
import java.util.Scanner;
public class Test3 {
public static void main(String[] args) {
while (true) {
Scanner sc = new Scanner(System.in);
System.out.print("请输入分数:");
int score = sc.nextInt();// ctrl+1+enter 自动声明变量
if (score < 0 || score > 100) {
System.out.println("输入有误,请输入正确成绩!");
continue;
} else if (score >= 90) {
System.out.println("优秀");
} else if (score >= 70) {
System.out.println("良好");
} else if (score >= 60) {
System.out.println("及格");
} else {
System.out.println("不及格");
}
break;
}
}
}
if和else if,else语句:当一个条件不满足时即跳入下一个语句。这里加了一个while循环,下面会详细举例。当然,这样直接用if else循环体系计算机工作量较大,需要一个一个条件去判断,较为繁琐,下面介绍一种更加简便的办法,同样是求成绩的等级。
package Test;
import java.util.Scanner;
public class Test4 {
public static void main(String[] args) {
while (true) {
Scanner sc = new Scanner(System.in);
System.out.print("请输入分数:");
int score = sc.nextInt();// ctrl+1+enter 自动声明变量
if (score < 0 || score > 100) {
System.out.println("输入有误,请输入正确成绩!");
continue;
} else {
score = score / 10;
switch (score) {
case 0:
case 1:
case 2:
case 3:
case 4:
case 5:
System.out.println("不及格");
break;
case 6:
System.out.println("及格");
break;
case 7:
case 8:
System.out.println("良好");
break;
case 9:
case 10:
System.out.println("优秀");
}
break;
}
}
}
}
switch-case结构,即switch获取信息之后,直接判断该信息是哪一个case,更加的简便,推荐使用。
4.循环
循环有三种,while,do while,for循环三种。
while:先判断,再执行
do while:先执行,再循环
for:在规定范围内循环
举例:(1)从1加到100(2)有限制的加
package Test;
public class Test5 {
public static void main(String[] args) {
int sum = 0;
int idx = 1;
/// for循环
// for (inx = 1; idx <= 100; idx++) {
// sum += idx;
// }
/// while循环
// while (idx <= 100) {
// sum += idx;
// idx++;//先计算,再++;++idx,先++,再计算
// }
/// do while循环
// do {
// sum += idx;
// idx++;
// } while (idx <= 100);
/// 加到第三个3的倍数
// for (idx = 1; idx <= 100; idx++) {
// sum += idx;
// if (idx == 3 * 3)
// break;
// }
///忽略3的倍数和个位数是3的数
for (idx = 1; idx <= 100; idx++) {
if (idx % 3 == 0 || idx % 10 == 3)
continue;
else
sum += idx;
}
System.out.println(sum);
}
}
以上是先将三种循环的算法都写了出来,剩下的有限制的循环按个人喜好,我喜欢用for循环一些。
说明一下,上面用到了continue和break。continue的意思是立即停止当前循环,紧接着进入下一次循环;break的意思是:跳出整个循环。
5.数组
在这里就介绍两种数组,一个是数字数组,一个是字符型数组
package Test;
import java.util.Arrays;
public class Test6 {
public static void main(String[] args) {
// int
int[] arr = new int[3];
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i]);
}
// string
String[] ss = new String[3];
for (int i = 0; i < ss.length; i++) {
System.out.println(ss[i]);
}
// 打印数组
for (int i = 0; i < arr.length; i++) {
arr[i] = i + 1;
}
String arrStr = Arrays.toString(arr);
System.out.println(arrStr);
for (int i = 0; i < ss.length; i++) {
ss[i]="hello";
}
System.out.println(Arrays.toString(ss));
}
}
以上分别是int类型的数组和string类型的数组,大家随意看一下就好。
6.排序
简单的介绍一下冒泡排序
package Test;
import java.util.Arrays;
import java.util.Random;
public class Test7 {
public static void main(String[] args) {
int[] arr = new int[20];
for (int i = 0; i < arr.length; i++) {
arr[i] = new Random().nextInt(100);
}
Arrays.sort(arr);
// int temp = -1;
// for (int i = 0; i < arr.length - 1; i++) {
// for (int j = 0; j < arr.length - 1 - i; j++) {
// //降序
// //if (arr[j] < arr[j + 1]) {
// //升序
// if (arr[j] > arr[j + 1]) {
// temp = arr[j];
// arr[j] = arr[j + 1];
// arr[j + 1] = temp;
// }
// }
// }
System.out.println(Arrays.toString(arr));
}
}
eclipse里有自带的排序方法,直接调用即可,当然,也可以自己写。
今天的复习就到这里了,再小小的介绍一下,一个快捷键ctrl+shift+f可以自动格式化代码,比如:
未格式化之前:
package Test;
import java.util.Scanner;
public class Test2 {
public static void main(String[] args) {
Scanner scanner=new Scanner(System.in);
System.out.print("请输入一个年龄:");int age=scanner.nextInt();
String s=age>=18 ? "已成年" : "未成年";System.out.println(s);}}
看着很乱,不舒服。格式化之后:
package Test;
import java.util.Scanner;
public class Test2 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入一个年龄:");
int age = scanner.nextInt();
String s = age >= 18 ? "已成年" : "未成年";
System.out.println(s);
}
}
是不是看着就很舒服了。
嗯,第一部分的复习就到这里了。