【114天】尚学堂高琪JAVA300篇视频笔记(1-6)
第1集
学啥语言都行,大同小异。
踏实学,最快闭关四个月能找到工作。【这是我自个知乎上看的】
第2集:计算机语言发展史、java核心优势、java三大版本的区别
Java相关背景知识
计算机基于冯诺曼体系
-
计算机三代语言
机器语言
汇编语言
-
高级语言
面向过程(C)
面向对象(C++、JAVA、C#)
C语言是现代语言鼻祖
C++是在C语言基础上设计的面向对象语言
Java可被称为C++-
Object-C是IOS和Mac开发中的主流语言
C#是微软山寨的JAVA,但由于与Windows绑定,失去了Java的跨平台优势。
Java的特性
简单性
面向对象
-
可移植性(跨平台性)【核心优势】
>一次编写,随处运行,对不同平台兼容性的处理由JVM处理,我们只需要专注于Java源文件的开发。
高性能
分布式
动态性
多线程
安全性
健壮性
Java三大版本
-
J2SE(JAVASE、Java 2 Standard Edition)
>定位在个人计算机上的应用【Java基础】
-
J2EE(JAVAEE、Java 2 Enterprise Edition)
>定位在服务器端的应用【JavaWeb、安卓使用】
-
J2ME(JAVAME、Java 2 Micro Edition)
>定位在消费性电子产品的应用【使用较少】
第3集:JDK和JRE和JVM的区别、JDK的下载安装、环境变量配置、测试安装成功
JDK和JRE和JVM的区别
-
JVM(Java Virtual Machine)
JVM是一种规范,可以使用软件来实现,也可以使用硬件来实现,就是一个虚拟的用于执行bytecodes字节码的计算机。他也定义了指令集、寄存器集、结构栈、垃圾收集堆、内存区域。
Oracle公司制定了JVM规范,方便开发者开发JVM。
JVM是指在一台计算机上由软件或硬件模拟的计算机;它类似一个小巧而高效的CPU。
byte-code代码是与平台无关的是虚拟机的机器指令。
JAVA的跨平台实现的核心是不同平台使用不同的虚拟机,不同的操作系统有不同的虚拟机。Java 虚拟机机制屏蔽了底层运行平台的差别,实现了“一次编译,随处运行”。
-
java字节代码运行的两种方式:
方式interpreter(解释)
Just-in-time(即时编译):有代码生成器将字节代码转换成本机的机器代码,然后可以以较高速度执行。
JVM负责将java字节码解释运行,边解释边运行,这样,速度就会受到一定的影响。JAVA提供了另一种解释运行的方法JIT(just in time),可以一次解释完,再运行特定平台上的机器码,高级的JIT可以只能分析热点代码,并将这些代码转成本地机器码,并将结果缓存起来,下次直接从内存中调用,这样就大大提高了执行JAVA代码的效率。这样就实现了跨平台、可移植的功能。
-
JRE(Java Runtime Environment)
JRE包括:Java虚拟机(JVM)、库函数、运行Java应用程序和Applet所必须文件
jre就是java运行时环境,包括了jvm和其它一些java核心api,任何一台电脑,只有安装了jre才可以运行java程序.
-
Java运行环境的三项主要功能:
加载代码:由class loader 完成;
校验代码:由bytecode verifier 完成;
执行代码:由 runtime interpreter完成。
若只是运行JAVA程序,只需要JRE(通常非常小)
-
JDK(Java Development Kit)
sdk(也就是jdk)是jre的超集,是在jre的基础上增加了编译器及其他一些开发工具。
若要开发Java程序,就需要安装JDK。
-
JAVA语言的应用范围
桌面应用编程
WEB客户端编程
WEB服务器编程
手机编程(J2ME或者现在的Android系统上开发应用程序)
机器人编程
JAVA开发环境的安装和配置详解(Windows)
下载JDK
安装JDK
环境变量配置
测试环境是否安装成功(cmd测试)
第4集:第一个程序HelloWorld、JAVA程序运行机制
public class HelloWorld {
public static void main(String[] args) {
System.out.print("Hello World!");
}
}
-
环境变量的配置,是方便你打Java、Javac时直接执行文件
-
计算机的高级编程语言类型: 编译型 ,解释型. Java 语言是两种类型的结合;
第一步:编译
利用编译器(javac)将源程序编译成字节码文件,字节码文件名:源文件名.class第二步:运行
利用虚拟机(解释器,java)解释执行class字节码文件。
第5集:Helloworld深化、文本编辑器的使用、常用dos命令、注释
Helloworld深化
Java对大小写敏感。
关键字public被称作访问修饰符(access modifier),用于控制程序的其它部分对这段代码的访问级别。
关键字class 表明Java 程序中的全部内容都包含在类中,Java是一种纯面向对象的语言。
一个源文件中至多只能有一个public的类声明,其它类的个数不限,如果源文件中包含一个public 类,源文件名必须和它中定义的public的类名相同,且以“java”为扩展名。
一个源文件可以有多个class,正确编译后的源文件,会得到相应的字节码文件,编译器为每个类生成独立的字节码文件,且将字节码文件自动命名为类的名字且以“class”为扩展名。
main方法是Java应用程序的入口方法,它有固定的书写格式。
在Java中,用花括号划分程序的各个部分,任何方法的代码都必须以“{”开始,以“}”结束, 由于编译器忽略空格,所以花括号风格不受限制。
Java中每个语句必须以分号结束,回车不是语句的结束标志,所以一个语句可以跨多行。
-
编程风格:
注意缩进!
成对编程!
常用Java开发工具
-
文本编辑器
UltraEdit
EditPlus
notepad++
sublime text3
-
集成开发环境(IDE:Integrated Development Environment)
JBuilder (http://www.borland.com)
Eclipse (http://www.eclipse.org)【以后工作和学习的重点!】
MyEclipse【收费】
NetBeans(http://java.sun.com)
WSAD (http://www.ibm.com)
intelliJ(http://www.jetbrains.com/idea/)【至2017年公认最好用,但学习成本高,收费】
CMD常用dos命令
cd 进入一个目录
cd ..
dir
上下键:查找敲过的命令
Tab键:自动补齐命令
TERMINAL常用命令
cd【.. ~ . /】
ls
pwd
clear
history
两种注释
单行注释//、多行注释/**/
注释不出现在字节码文件中,编译器编译时将跳过注释。
public class Five {
public static void main(String[] args){
System.out.print("test");//我是单行注释
System.out.println("test2");
/*我
*是
*多
*行
*注
*释*/
}
}
第6集:标识符、unicode和GBK及各种字符集的关系
标识符
-
标识符:用于类、方法、变量的命名。
类名首字母大写(Man)
方法、变量首字母小写(myCode、eat())
标识符都使用驼峰命名法。
-
Java标识符命名规则:
标识符必须以字母、下划线_ 、美元符$开头。
标识符其它部分可以是字母、下划线“_”、美元符“$”和数字的任意组合。
Java 标识符大小写敏感,且长度无限制。
不可以是Java的关键字。
public class test006 {
public static void main(String[] args){
int $abc = 3;
int _abc = 3;
int abc = 3;
int _ = 3;
int $ = 3;
int a = 3;
//int 3abc = 3;//错误
//int #abc = 3;//错误
int 尚学堂 = 3;//可以,但不推荐
}
}
unicode和GBK及各种字符集的关系
JAVA不采用通常语言使用的ASCII字符集,而是采用Unicode这样的标准的国际字符集。因此,这里的字母的含义:英文、汉字等等。(不建议大家使用汉字来定义标识符!)
编码与解码时若不使用同一字符集,则会出现乱码。
UTF-8,中文3个字节表示一个汉字、西欧英文1个字节表示一个字母,阿拉伯2个字节表示一个字符。
【我的拓展】常用中文字符用utf-8编码占用3个字节(大约2万多字),但超大字符集中的更大多数汉字要占4个字节(在Unicode编码体系中,U+20000开始有5万多汉字)。GBK、GB2312收编的汉字占2个字节,严格地用iso8859-1无法表示汉字,只能转为问号。参考资料
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。