java 学习0717(基本认知和变量)
1 java的基本认知和环境配置:
1.1 jdk:java development kit-java开发工具包
--java开发工具:
编译器,调试器,javadoc.exe,javac.exe,java.exe
--jre(java runtime environment)--java运行环境
--jvm(java虚拟机):
使用程序模拟一台计算机;使java程序运行在此程序上
--类库(资源库)
注意:
jdk配置时一定不要有中文
程序猿:jdk
写好的程序:jre
jdk与jre的区别
jdk是开发环境(开发程序所需要的环境)
包含开发工具和jre
开发工具有:编译器,调试器,javadoc.exe,javac.exe,java.exe
jre是运行环境(程序运行所需要的环境):
包含jvm和类库
1.2 配置环境变量
如果想使用简短的命令名称,我们需要配置jdk的环境变量:
在计算机-->属性-->高级系统设置-->高级-->环境变量-->系统变量里
(1)新建一个环境变量名称:
JAVA_HOME
变量值:D:\Program Files\Java\jdk1.8.0_172
即一堆命令所在的目录bin的父目录
(2)新建一个环境变量名为:
CLASSPATH
变量值:
.;D:\Program Files\Java\jdk1.8.0_172\lib //注意前面的小点,表明当前文件
即可写为
.;%JAVA_HOME%\lib;%JAVA_HOME%\jre\lib
windows下常用配环境方法:
.;%JAVA_HOME%\lib\dt.jar;.;%JAVA_HOME%\lib\tools.jar
(3)找到系统变量里的path:追加值。
追加的内容如下:
. ;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;
检查是否配置成功:
(4)检查环境配置是否成功
打开命令提示符界面 //查找---->输入cmd
输入两个命令:
java-version 回车
javac 回车
不出现“不是内部或外部命令……”即成功
1.3 java的运行原理
java语言的一个特点:跨平台(操作系统)。
因为每个平台上都有自己版本的jvm,而任何一个版本jvm都会执行
class文件(字节码文件)java语言的运行原理:
java源文件(.java)
|
|----编译过程(javac.exe)
| javac 源文件名称(一定要带上扩展名)
| javac Demo.java
java字节码文件(.class)
|---开启jvm,运行字节码文件
| java 字节码文件名称(千万不要写扩展名)
| java Demo
程序开始跑起了
运行过程:使用java命令指定一个字节码,调用虚拟机,使jvm运行指定的字节码文件,
实质上是执行程序里面的main方法。
1.4 程序运行操作步骤
(以在D盘的1802文件夹中day01.20180717中的Demo.java源程序为例)
进入命令提示符界面--->切换盘符--->直接输入D:---> cd..切换到父目录下[cd:表示切换目标(文件夹)]--->javac Demo.java
--->java Demo.java
如:从D:下进入1802里的day01.20180717里的Demo.java
Microsoft Windows [版本 10.0.17134.165]
(c) 2018 Microsoft Corporation。保留所有权利。
C:\Users\冉小苏>D:
D:\>cd 1802
D:\1802>cd day01.20180717
D:\1802\day01.20180717>javac Demo.java
D:\1802\day01.20180717>java Demo
[A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z]
[D, B, G, T, J, Q, V]
D:\1802\day01.20180717>
javac.exe:调用编译器对源文件进行编译成字节码文件
编译期间会检查源文件中的语法
如果语法没有错误,就会生成.class文件
有错误,一定不会产生.class文件。
编译期间的语法错误,我们称之为编译错误
1.5 java语言的特点
java语言的特点:除了跨平台运行,还有一个特点叫强类型的特点。
即变量必须在定义期间规定一个类型。(和C语言区别较大,C语言中可以较为随意的存不同类型的值)
赋值时类型必须匹配
1.6 注释格式
(1)文档注释:
/** 注释*/
(2)多行注释
/* 注释*/
(3)单行注释
//注释
通常:文档注释用于解释类或方法,多行或单行注释用于解释方法内的逻辑
2 java中的变量:
2.1 变量的解释
变量:
语文课本中:可变化的量
你---->张三
---->李四
我---->王从明
---->老崔
java语言中的变量: 在jvm的内存中开辟的一个存储空间,用来存储一个类型中的一个数据
比如:you="张三"
(1)程序通过操作变量名来操作存储空间。
(2)变量必须定义一种类型
2.2 变量的命名规则
(1)名称由字母,数字,_和$任意组成,数字不能开头
(2)大小写敏感
(3)可以使用汉字,但是不建议使用
(4)驼峰命名法(当有多个单词时从第二个单词开始的首字母大写,从驼峰的外形推出,后面突变),
并见名知意
例:myDogName="旺财";两个单词以上组成后续单词首字母大写,但是单个单词命名是小写
(5)不能使用关键字(java保留字)
2.3 变量的使用规则
(1)必须先定义(声明,创建)和赋值(初始化)
(2)变量可以重复使用,即可以进行多次存取操作.
不需要强调类型,但是存储数据时一定要与第一次声明时的类型匹配
(3)变量的作用域:变量有自己的使用范围。
出了范围,变量失效。
作用域:即从定义开始,到所在的大括号的结束符号为止。
出了作用域想使用,需要重新定义和初始化。
/**例1*/
public class Demo01{
public static void main(String[] args){
String str="古天乐很黑";
System.out.println(str);
System.out.println(str);
System.out.println(str);
System.out.println(str);
System.out.println(str);
int age=23;
age=24;
System.out.println(age);
age=age+1;//从age中取出+1再存入
System.out.println(age);
for(int i=0;i<26;i++){
System.out.println(age);
int score=100;
}
}
/**例2*/
public class Demo02{
public static void main(String[] args){
int age;
System.out.println(age);//age没有初始化
System.out.println(count);//count未定义和初始化
int num_=10;
System.out.println(Num_);//没有区分大小写
int 3a=10;//变量名数字不应开头
int $a=10;
System.out.println($a);
b=3;//没有定义类型
System.out.println(b);//
if($a>b){
int myAge=23;
System.out.println(myAge);
}
System.out.println(myAge);//超出作用域
}
}