day01
java的特点
简单:摒弃了c和c++的指针,垃圾回收机制,相对而言简单许多
安全:几乎各大银行都会使用java作为其开发平台
跨平台:可以运行在任何的操作系统之上,windows, linux以及mac平台,其具有一定的“欺骗性”, 因为java最终的字节码文件并不直接运行在对应的操作系统之上,而是运行在各个操作系统锁对应的不同的java虚拟机之上,可以做到一次编译,到处运行。java的字节码可以跨平台,但是java虚拟机不跨平台
java版本
java se/j2se/jse: java standard edtion: java标准版,可以用于java的桌面应用
java me/j2me/jme: java micro edition: java微型版,在java的标准版之上做了一些精简,主要用于早期的手机开发、单片机以及机顶盒开发,但是注意当时的手机开发与现在的手机开发Android和iOS还是有区别的
java ee/j2ee/jee : java enterprise edition: java 企业级开发,主要用于做各种系统、平台等
java的发展
早期oak,橡树,后来被修改为java
早期是sun公司,后来是oracle,甲骨文
java的版本,早期1.0, 1.1,1.2之后有了更大的修改与优化,所以几乎说的只要是java2说的都是java1.2以上的所有版本,从java1.5之后,不再说java1.5,而直接说java5
目前企业中用的是java8或者是java11
目前最新的java版本是java21
jdk和jre以及jvm
jdk: java development kit,java的开发工具集
jre: java runtime environment,java运行时环境
jvm: java virtual machine, java虚拟机
hello world
代码的编写
使用记事本进行java的代码的编写
右键新建一个文本文档,命名为HelloWorld.java,注意后缀不能含有txt
代码的编写
//class是关键字,用来定义一个类,后面跟的是类名class HelloWorld{//main方法,java程序的入口就是main方法//main方法有四要素,必须是public static void 以及String类型的数组参数public static void main(String[] args){System.out.println("Hello world.");}}代码的编译
安装jdk,安装完成之后的目录如下:
bin,binary,二进制文件,不同操作系统下使用不同的后缀,javac, java, javadoc, native2ascii
include,包含一些头文件
jre: java 运行时环境,jdk包含了jre
lib: library,仓库,里面含有运行java所需要的各种库文件
sample:案例
src.zip,java的源文件
编译java文件
使用javac命令来编译上面完成好的java文件
使用命令javac Xxx.java文件,如果出现有中文乱码编译不通过,可以使用javac -encoding utf-8 Xxx.java
完成后生成Xxx.class
代码的运行
使用java Xxx,注意后面不能跟.class,java后面跟的直接是类名
java HelloWorld
命令窗口出现Hello world字样,程序运行成功
环境变量
用户变量:只有当前用户可以使用的环境变量
系统变量:任何能够使用该系统的用户都可以使用的环境变量
最终的变量将是系统变量拼接当前的用户变量
我们可以将需要的文件所在的目录加入path中,最终的好处是在任何路径下都可以找到这些命令。javac、java
右键我的电脑-属性-高级系统设置-高级-环境变量,开始进行设置
代码编写
print与println对比
class Day0226{public static void main(String[] args){//print是打印完指定内容后,直接定位在当前位置//println是打印完指定内容后,进行换行操作System.out.print("today is 0226");System.out.print("年已经过完了!");}}
严格区分大小写
class Demo01{//String的S大写//System的S大写public static void main(String[] args){System.out.println("this is Demo01");}}
形参与实参
class Demo02{//args是方法中的形参,形式上的参数,其目的是起到占位符的作用,一旦叫这个名字,后面要使用的时候,必须跟前面名字保持一致//args因此可以换成abc, aaa,ccc,zzz都可以,但是不能换成111,111是常量,也不能换成1abc,注意变量必须不能以数字开头public static void main(String[] abc){System.out.println("this is demo02");System.out.println(abc[0]);}}
public 修饰的类
//public修饰的类,要求文件名必须与类名完全相同,包括大小写//注意Windows操作系统不区分大小写public class Demo033{public static void main(String[] abc){System.out.println("this is demo033");}}