先说一下java之父,詹姆斯·高斯林
这是一个爱喝咖啡而又强大的男人。
再来看一下JAVA有多火
在TIOBE排行榜上JAVA基本都是稳居前三,可见java语言的火爆程度
右击此点电脑,点击属性再找到高级设置,环境变量,记住一定是系统环境变量!
在系统变量中新建建JAVA_HOME变量不要有多余的空格和其他符号,变量值是你安装的JDK的路径复制过来就好了。
JAVA_HOME:
再新建一个CLASSPATH的环境变量
CLASSPATH
.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar
记住不要带有空格或者其他符号
再找到环境变量里的Path,记住不是新建
双击Path在里面新建一个变量值
%JAVA_HOME%\bin
让后确定保存配置
win+R键输入cmd
再输入java -version就可以看到版本号
java -version
再输入java就可以看到
接着输入javac
如果输入都没有任何问题就说明配置完成了
Java是一门半编译型、半解释型语言。先通过javac编译程序把源文件进行编译,编译后生成的.class文件是由字节码组成的平台无关、面向JVM的文件。最后启动java虚拟机来运行.class文件,此时JVM会将字节码转换成平台能够理解的形式来运行。
JRE(Java Runtime Environment):Java运行时环境,包含了JVM,Java基础类库。是使用Java语言编写程
序运行的所需环境。
JDK(Java Development Kit):Java开发工具包,提供给Java程序员使用,包含了JRE,同时还包含了编译
器javac与自带的调试工具Jconsole、jstack等。
JDK:java开发者工具
JREjava运行环境
JVM:java虚拟机
编译代码:javac
运行代码:java
通过cmd命令来编译运行代码
java源文件编译后会生成一个.class的字节码文件,这个文件是以二进制的文件方式储存的
public class Test{
public static void main(String[] args){
System.out.println("Hello Java");
}
}
1.先进入java文件代码所在的盘
2.cd空格文件路径,进入文件所在的路径
3.javac 文件名编译文件
4.java文件名运行文件
来看一个列子
public class Test{
public static void main(String[] args){
System.out.println("Hello Java");
System.out.println("你好 java");
}
}
按照我们刚刚的方法来编译运行
可以看到并不是我们想要打印的你好,而是乱码。
为什么回出现乱码呢?因为我们写代码的时候新建的文本文档,win一般用的是UTF-8进行编码,而java是用GBK进行编码。这两者并不匹配,所以会出现乱码。而我们指定它用UTF-8来进行编码,就不会出现乱码了。
怎么解决呢,其实很简单只需要再javac后面加上-encoding utf-8就可以了
javac -encoding utf-8 文件名.java
1.在一个java文件当中,只能有一个Public的类
2.一旦这一个类被Public class所修饰,那么这一个类一定要和文件名是一样的。
3.一个java文件当中,可以有多个类,但只能有一个Public类,一个类对应一个字符码文件。
prinln:打印后换行
print:打印后不换行
printf:标准形式打印
public class Test{
public static void main(String[] args){
System.out.println("Hello Java");
System.out.print("你好 java");
System.out.printf("%s\n","你好 java");
}
}
1.可移植性:在JAVA当中没有所谓的多少位平台,int都是4个字节.
2.跨平台性:win上写的代码可以在mac上跑,因为java代码是跑在虚拟机(JVM)上的.
JAVA:一次编译,到处运行(java编译后得到的.class文件可以直接在其他平台运行)。
1.字符串拼接任何变量,都会变成字符串此时的+是拼接的意思
2.如果前面不是首先出现的字符串,那么先要运算的
public class Games {
public static void main(String[] args) {
int a = 10;
System.out.println("a="+a);
System.out.println(1+a+"a");
}
}
java中没有所谓的无符号数,java中一个int能表示的数的范围为-231~231-1之间
来看一个例子
public class Games {
public static void main(String[] args) {
int a = Integer.MAX_VALUE;//int的最大值
int b = Integer.MIN_VALUE;//int的最小值
System.out.println("a="+a);
System.out.println("b="+b);
System.out.println("a+1="+(a+1));
System.out.println("b+1="+(b-1));
}
}
运行结果,我们可以发现int的最大值加上1会变成int的最小值,而int的最大值加上1则会变成int的最小值
所以可以我们可以知道JAVA中是没有无符号数的,