我的JAVA之路(二)
关于for,数组,排序的一些理解(一)
不管是程序的三种结构,还是数组都是基础知识,也和C,C++里面的这些概念差不多。不过,还是要来说一下。
1、for循环结构
- for循环是我们在程序中用的最多的一种循环语句,不管是在C,Python还是现在的JAVA中,都是最为普及的语句。
- C语言的for和JAVA语言的for基本上是一样的,知识像for(int i=0 ; … ; … )这种方式在C99中才支持。
- for语句用来简化一系列重复有规律的操作代码。
- 最新的c++11和JAVA8还不确定是否支持Python的那种写法,for i in Object: …..(我还没看过,暂不讨论吧)
下面是一个简单的例子:
package main;
/*
* 要求:
* 给出学生的个数和每个学生的成绩,请给出最高分和每个学生分数的等级。
* 等级按照于最高分的差距每10分为一档递降,分别为A,B,C,D。
*/
import java.util.Scanner;
public class main {
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
System.out.println("请输入学生的个数");
int count = s.nextInt();
int maxScore = 0;
int[] scores = new int[count];
System.out.println("请输入"+count+"个成绩:");
for (int i = 0; i < count; i++) {
int score = s.nextInt();
scores[i] = score;
if (scores[i] > maxScore) {
maxScore = scores[i];
}
}
System.out.println("最高分为:" + maxScore);
for (int i = 0; i < count; i++) {
char level;
if(scores[i]>=maxScore- 10){
level = 'A';
}else if(scores[i]>=maxScore- 20){
level = 'B';
}else if(scores[i]>=maxScore- 30){
level = 'C';
}else {
level = 'D';
}
int id = i+1;
System.out.println("student "+id+" score is "+scores[i]+" grade "+level);
}
}
}
2、数组
- 数组是干什么的,这一点用一句话解释,数组就是用来存储一系列有相同属性的值的容器,这些相同属性指的是它们是一类东西,只不过看起来(值)不一样(比如上一个例子,它们都是成绩)。
还是一个例子(看代码永远是学习语言的最快方式):
package main;
//给出一个数组,求出该数组的最大值,最小值,和,均值(整数)
public class Arraytest {
public static void main(String[] agrs) {
int arr[] = new int[] { 12, 49, 9, 0, -5, 100, -90, 3, 5, 328 };
// max
int max = arr[0];
for (int i = 0; i < arr.length; i++) {
if (max < arr[i])
max = arr[i];
}
System.out.println("Max: " + max);
// min
int min = arr[0];
for (int i = 0; i < arr.length; i++) {
if (min > arr[i])
min = arr[i];
}
System.out.println("Min: " + min);
// sum
int sum = 0;
for (int i = 0; i < arr.length; i++) {
sum += arr[i];
}
System.out.println("Sum: " + sum);
// average
int avg = 0;
avg = sum / arr.length;
System.out.println("Avg: " + avg);
}
}
会了这两个例子基本上for和数组就算是掌握了,下一篇再来讨论排序的问题。