Java入门教学2
输出
1. for循环
for(int i = 0; i < 10; i++){
System.out.print(count[i] + " ");
}
2. for each
for(int temp :count){
System.out.print(temp + " ");
}
foreach格式为
for(元素类型type 元素变量x : 遍历对象obj)
{
引用了x的java语句;
}
在java中的语法:for(type x : collection)
{
}//在collection中遍历每一个对象,对象是type类型的x
3. Arrays类中的toString
System.out.print(Arrays.toString(count));
类
什么是类
类是一种用户定义类型,也称类类型。每个类包含数据说明和一组操作数据或传递消息的函数。类的实例称为对象。
什么是对象
对象是类的一个实例。
对象与类的区别
- 类 java里面除了八大数据类型之外 都是对象
抽象的 不实际存在的 描述同一类事物(具有共同的属性和方法) - 对象 具体的 实际存在的 某一类的实例化
对象都是new出来的,可以完成具体的事情,有内存空间
同一个类可以有多个对象
定义一个类
类名首字母必须大写 通常情况下一个文件对应一个类
修饰符public static final private
修饰符 class 类名{
这个类的一些属性:成员变量
这个类的功能: 方法
}
- 存什么值:成员变量 通常定义在类的最上面
String name;
float score; - 完成什么功能:方法
封装中三种访问权限的区别
封装:把私有的东西封装起来 不让外部使用,需要给外部使用,就暴露出来。
- public:公共的 想用就用 内外部通用
- private:私有的 只能自己使用 外部无法访问
- protected:受保护的 外部(同一个包)可以访问
八大数据类型的初始值
kind | default |
---|---|
char | /u0000 |
int | 0 |
long | 0 |
short | 0 |
float | 0.0 |
double | 0.0 |
byte | 0 |
boolean | false |
PS:引用数据类型:对象类型的变量 = null
方法
方法的定义
public static final private
方法的调用
调用谁(哪个对象)的方法
在类里面可以直接调用自己的方法 在自己的类里面可以调用这个类里面的所有资源
在外部必须通过对象来调用
- 一个参数没有返回值
public void test(String name){}
- 一个参数一个返回值
public int test(String name){
return 0;
}
- 多个参数一个返回值 参数用逗号隔开
public int test(String name,int age){
return 0;
}
- 可变参数
public int test(int ... counts){
int sum;
for (int i = 0 ; i < counts.length ; i++){
sum +=counts[i];
}
}
猜数字游戏
对比C语言
class GuessNumber{
public static void main(String[] args){
int[] org = new int[4];
int[] guess = new int[4];
Random random = new Random();
for (int i = 0; i < 4; i++){
int temp = random.nextInt(10);
boolean result = contains(org, temp);
if (result){
i--;
}else{
org[i] = temp;
}
}
Arrays.sort(org);
System.out.println(Arrays.toString(org));
Scanner scanner = new Scanner(System.in);
while(true){
int countA = 0;
int countB = 0;
System.out.print("请输入猜测的数字:");
for (int i = 0; i < 4;i++){
guess[i] = scanner.nextInt();
}
for (int i = 0; i < 4; i++) {
boolean result =contains(guess, org[i]);
if(result == true){
int index = indexOf(guess, org[i]);
System.out.println("i:"+i+" index:"+index);
if (index == i){
countA++;
} else{
countB++;
}
}
}
if (countA == 4){
System.out.println("恭喜全对!");
break;
}else{
System.out.println(countA+"A"+countB+"B");
}
}
}
public static int indexOf(int[] val, int obj){
for (int i = 0; i < val.length; i++){
if (val[i] == obj){
return i;
}
}
return -1;
}
public static boolean contains(int[] val, int obj){
for (int i = 0; i < val.length; i++){
if (val[i] == obj){
return true;
}
}
return false;
}
}
体会
今天是进入Java学习的第二天,重新做了关于猜数字的demo,有一丢丢不知所云,尤其是关于栈和堆的地方。下来看了看head first java感觉要清晰一点了。关于方法的创建和使用还是不是很会。在此批评6711,中午瞎跑害我找她一中午没睡午觉下午困了一下午o(TヘTo)