自学JAVA笔记(不定期更新)

鄙人自学Java,记录问题与知识点,可能不太全面,望读者谅解,若有错误还请立马批评指正。
笔记建立在C/C++基础上,所以会缺少一些基础知识点。
目前自学基础书籍《Head First Java》(中文版)

进入Java的世界

int x=1;
while (x){ }

Java不允许以上操作,Java中的integer与Boolean两种类型不相容,正确方法:

boolean isHot = true;
while(isHot) { }

Java的输出语句
System.out.print
若想在后面换行
System.out.println

练习----专家术语学习机

public class Phrase0Matic {
    public static void main(String[] args) {
        String[] wordListOne = {"24/7", "多层", "30000英尺", "B-to-B", "双赢", "前端", "基于网络", "普及", "智能",
                "六西格玛", "关键路径", "动态"};
        String[] wordListTwo = {"授权", "粘性", "增值", "定向", "中心", "分布式", "集群化", "品牌化",
                "机箱外", "定位", "网络化", "专注", "杠杆化", "对齐", "目标化", "共享", "合作", "加速"};
        String[] wordListThree = {"流程", "临界点", "解决方案", "架构", "核心竞争力", "战略", "思维共享",
                "门户", "空间", "愿景", "范式", "使命"};
        int oneLength = wordListOne.length;
        int twoLength = wordListTwo.length;
        int threeLength = wordListThree.length;

        int rand1 =(int)(Math.random() * oneLength);
        int rand2 =(int)(Math.random() * twoLength);
        int rand3 =(int)(Math.random() * threeLength);
        String phrase =wordListOne[rand1]+"的"+wordListTwo[rand2]+"的"+wordListThree[rand3];

        System.out.println("我们需要的是一个"+phrase);
    }
}

拜访对象村

对象本身已知的事物被称为:
实例变量(instance variable)
对象可以执行的动作称为:
方法(methods)
类与对象有什么不同?
类不是对象(却是用来创建他们的模型)
类是对象的蓝图
例如:你可以用一个按钮类来创建许多大小、颜色、文字等不同的按钮

创建第一个对象

//编写类
class Dog {
    int size;
    String breed;
    String name;

    void bark()
    {
        System.out.println("Ruff! Ruff!");
    }
}
//编写测试用的类,并在其中建立对象并存取对象的变量和方法
class DogTestDrive{
    public static void main(String []args)
    {
        Dog d =new Dog();
        d.size=40;
        d.bark();
    }
}

创建与测试Movie对象

class Movie {

    String title;

    String genre;

    int rating;

    void playIt(){

        System.out.println("Playing the movie");

    }
}
public class MovieTestDrive{

    public static void main(String[] args){

        Movie one = new Movie();

        one.title = "Gone with the Stock";

        one.genre = "Tragic";

        one.rating = -2;

        Movie two = new Movie();

        two.title = "Lost in Cubicle Space";

        two.genre = "Comedy";

        two.rating = 5;

        two.playIt();

        Movie three = new Movie();

        three.title = "Byte Club";

        three.genre = "Tragic but ultimately uplifting";

        three.rating = 127;

    }

}

编写此代码时,博主就遇到了报错在这里插入图片描述
因为要求是创建与测试Movie对象,我就很自然而然创建了movie类,后来查阅资料时候发现如下
一个java文件中只能有一个public类,而且该类的名字必须和文件名一致,可以没有public类
具体来源博客—一个java类只能有一个public类,但可以定义多个非public类

快离开main!

只要还呆在main中,那么就是在对象村外。对于货真价实的面向对象应用程序来说,我们需要用对象来与对象交互
main()的两种用途:
1)测试真正的类
2)启动你的Java应用程序

猜数字游戏

class GuessGame {
    Player p1;
    Player p2;
    Player p3;

    public void startGame() {
        Player  p1 = new Player();
        Player p2 = new Player();
        Player p3 = new Player();

        int guessp1 = 1;
        int guessp2 = 1;
        int guessp3 = 1;

        boolean p1isRight = false;
        boolean p2isRight = false;
        boolean p3isRight = false;

        int targetNumber = (int) (Math.random() * 10);
        System.out.println("I'm thinking of a number between 0 and 9...");

        while (true) {
            System.out.println("Number to guess is " + targetNumber);

            p1.guess();
            p2.guess();
            p3.guess();

            guessp1 = p1.number;
            System.out.println("猜数字游戏.Player one guessed" + guessp1);

            guessp2 = p2.number;
            System.out.println("猜数字游戏.Player one guessed" + guessp2);

            guessp3 = p3.number;
            System.out.println("猜数字游戏.Player one guessed" + guessp3);

            if (guessp1 == targetNumber) {
                p1isRight = true;
            }
            if (guessp2 == targetNumber) {
                p2isRight = true;
            }
            if (guessp3 == targetNumber) {
                p3isRight = true;
            }
            if (p1isRight || p2isRight || p3isRight) {
                System.out.println("我们当中出现了胜利者");
                System.out.println("一号玩家的答案正确吗?" + p1isRight);
                System.out.println("二号玩家的答案正确吗?" + p2isRight);
                System.out.println("三号玩家的答案正确吗?" + p3isRight);
                System.out.println("游戏结束,还想再来一局吗?");
                break;
            } else {
                System.out.println("很遗憾!你们当中没有人猜出正确答案。游戏继续。");
            }
        }
    }
}
class Player{
    int number=0;
    public void guess(){
        number=(int)(Math.random() * 10);
        System.out.println("我猜这个数字是 "+number);
    }
}
public class GameLauncher {
    public static void main(String []args)
    {
        GuessGame game = new GuessGame();
        game.startGame();
    }
}

primitive主数据类型和引用

该章主要内容是主数据类型和声明的规范性
主要举例不规范的例子

1.float f=32.5—应改为—>float f=32.5f
若没有f在结尾,则所有带有小数点的值都会被Java当作double处理

2.int x =24;
byte b = x;
//错误
虽然byte可以装下24,但是对于编译器来说,这种操作是将大物体装进小容器中,有溢位的可能(不要认为你的编译器会看着办)

名称必须以字母、下划线或者$开头,不可以用数字开头

避开关键字
例如:public,void,static等等

分割线----------------------------------------------------------------------------------------------------------------------------------------------------------------博主已考研跑路,有机会再更

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值