序
鄙人自学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等等
分割线----------------------------------------------------------------------------------------------------------------------------------------------------------------博主已考研跑路,有机会再更