Java学习笔记1
Java三大版本
- JavaSE:标准版
- JavaME:嵌入式开发
- JavaEE:E企业级开发
JDK1.8安装
- 配置环境变量
- 我的电脑->属性->环境变量->JAVA_HOME
- 配置path变量
- 测试JDK是否安装成功
- 打开cmd
- java -version
HELLO WORLD
- 编写代码
public class HELLO{
public static void main(String[] args){
System.out.print("Hello,World");
}
}
- 编译 javac Java文件,生成一个class文件
- 运行class文件, java class文件
- 注意
- 每个单词的大小写不能出现问题,java是大小写敏感的
- 尽量使用英文
- 文件名和类名必须保证一致,并且首字母大写
- 符号不能使用中文的
Java程序运行机制
-
编译型
-
解释型
就好比给一个外国人看一本中文书,有两种方式。第一种是把这本书翻译完了给他看,第二种是找一个翻译官给他实时翻译。第一种方法如果书要更新,则需要重新买一本新的书,而第二种不用,但如果他要回头看,则需要再次翻译。
第一种方法就对应着编译型,它对操作系统要求低。第二种对应解释型,一些网页,脚本对于速度要求不高,可以使用解释型。
程序运行机制
java的程序结构
类存在于源文件里,方法存在于类中,语句存于方法中
源文件:带有类的定义,扩展名为.java。
类:就类似于C语言中的各个模块。
方法:类似于C语言中的函数。
在Java中的所有东西都会属于某个类,JVM加载类去执行,而main()是程序的起点。每个Java程序最少都会有一个类以及一个main(),每个应用程序只有一个main()函数。
-
注意:在Java中integer与boolean两种类型并不相容。
int x=1;while(x) { }***boolean isHot =true; while(isHot) { }***
System.out.print 后续输出仍在同一行 System.out.println 后续输出以新一行开始
Sharpen your pencil
public class HELLO { public static void main(String[] args) { int x=1; while(x<3) { System.out.print("Doo"); System.out.print("Bee"); x=x+1; } if(x==3){ System.out.print("Do"); } } }
运行结果:
注释
- 单行注释 //
- 多行注释 /* */
- 文档注释 Javadoc /** */
标识符
- 所有的标识符都应该以字母(A-Z或a-z),美元符($),或者下划线(_)开始
- 首字母之后可以是字母,美元符,下划线或数字的任何字符组合
- 不能使用关键字作为变量名或方法名
- 标识符是大小写敏感的
- 可以使用中文命名但是一般不建议这么做
类与对象
- 类是对象的蓝图,是用来创造他们的模型
- 每个对象都有自己的实例变量(状态)和方法(行为),它们都是类设计中的一部分
- 类似于C语言中的结构体里套了些函数
- main()的两种用途:
- 测试真正的类
- 启动你的Java应用程序 真正的Java程序只会让对象与对象交互
猜数字游戏
- GuessGame.class
public class GuessGame {
Player p1;
Player p2;
Player p3;
public void startGame(){
p1 = new Player();
p2 = new Player();
p3 = new Player();
int guessp1 = 0;
int guessp2 = 0;
int guessp3 = 0;
boolean p1isRight = false;
boolean p2isRight = false;
boolean p3isRight = false;
int targeNumber = (int) (Math.random() * 10);
System.out.println("I'm thinking of a number from 1 and 9...");
while(true){
System.out.println("Number to guess is " + targeNumber);
p1.guess();
p2.guess();
p3.guess();
guessp1 = p1.number;
System.out.println("Player one guess " + guessp1);
guessp2 = p2.number;
System.out.println("Player two guess " + guessp2);
guessp3 = p3.number;
System.out.println("player three guess " + guessp3);
if(guessp1==targeNumber){
p1isRight = true;
}
if(guessp2==targeNumber){
p2isRight = true;
}
if(guessp3==targeNumber){
p3isRight = true;
}
if(p1isRight || p2isRight || p3isRight){
System.out.println("We have a winner!");
System.out.println("Player one got it right? " + p1isRight);
System.out.println("Player two got it right? " + p2isRight);
System.out.println("Player three got it right? " + p3isRight);
System.out.println("Game is over");
break;
}else{
System.out.println("Player will have to try again.");
}
}
}
}
- Player.class
public class Player {
int number = 0;
public void guess(){
number = (int) (Math.random() * 10);
System.out.println("I'm guessing " + number);
}
}
- GameLauncher.class
public class GameLauncher {
public static void main(String[] args){
GuessGame game = new GuessGame();
game.startGame();
}
}
-
在Java的概念中并没有全局变量这回事。不过任何变量只要加上public,static和final,基本上都会变成全局变量取用的常数
-
java程序是由一组类所组成,其中有一个类会带有启动用的main()方法
-
在Java的概念中并没有全局变量这回事。不过任何变量只要加上public,static和final,基本上都会变成全局变量取用的常数
-
java程序是由一组类所组成,其中有一个类会带有启动用的main()方法