Java
1.Java语言:半解释半编译
解释:
语言。JS是浏览器可以直接运行,不需要翻译执行。执行.js文件
编译:
Java,Scala ,Hello.java是程序员写的,是以十进制为单位写的文件,计算机只认二进制,我们所写的Java计算机时不认识的,我们需要有一个翻译把我们写的Java文件翻译给计算机
编译与解释的区别:
高级语言想要运行在计算机中,需要将其翻译成计算机所能识别的语言——机器语言
高级语言翻译成机器语言大体可以分为两大类
1.编译:一次将所有的源程序翻译,并生成计算机能识别的二进制可执行文件
优点:效率高
缺点:可移植性差
2.运行:将源程序逐条翻译并逐条执行
优点:使用灵活,可移植性强
缺点:效率低
2.Java的历史
1995年,詹姆斯高斯林,创办sun公司,发明了Java语言,印尼的爪洼岛,Java语言,寓意就是为全世界软件爱好者递上一杯热乎的咖啡,早期,Java应用于移动端。2009年sun公司被oracle(甲骨文:金州旧金山)收购。
Java用什么写出来的,C和C++,C是万物之祖
3.计算机
软件:操作系统windows,linux(开源),MacOS
硬件: CPU:4核,显卡:内存:16G,固态:512G以上
4.内存:
物理内存,虚拟内存
5.操作系统:基本的指令
(1)打开指令控制台 win+R cmd
(2)输入盘符d: 切换到目标盘
(3)cd.. 返回上一级目录
(4)进入指定的目录cd a
(5)dir指令查看当前目录下的文件夹信息
(6)创建一个空文件 copy nul a.txt
(7)向文件内写入内容 echo 123456>a.txt
(8)复制文件copy a.txt b.txt
(9)删除文件del a.txt 由del删除的文件不进入回收站
6.计算机的设置:
- 显示后缀名
- 文件浏览方式
- 不要用第三方杀毒软件
7.二进制:
存储单位:
二进制的加减法计算:
二进制逢2进1,二进制最大的数是1
8.Java版本
- JavaSE;做桌面应用程序;Java基础
- JavaEE; 企业级应用;学习
JavaME;手机端:淘汰
9.Java特点
(1)面向对象:
java是一门面向对象的编程语言,面向对象编程语言更符合人的思维方式
半编译半解释型语言:java源程序通过javac.exe1这个命令进行编译并生成(.class)字节码文件,java.exe2 这个命令会将这个字节码文件逐条解释并执行
(2)可移植性(跨平台):
即编译一次到处运行,java通过编译器将java源程序编译成字节码文件,通过这字节码文件运行在不同操作系统的JVM (Java Virtual Machine) 中,可移植性的核心是JVM
(3)简单性:在java中屏蔽了指针的概念; 在Java中不支持多继承
(4)半编译半解释型语言:
java源程序通过javac.exe1这个命令进行编译并生成(.class)字节码文件,java.exe2 这个命令会将这个字节码文件逐条解释并执行
(5)多线程:多个任务同时进行
(6)分布式
(7)健壮性: 与GC机制、java的强类型、异常处理机制有关
(8)安全性:插件设置一个安全防范机制
10.Java环境搭建
- 安装JDK(JDK的下载:[Oracle官网](https://www.oracle.com/))
- 配置环境变量:
- 计算机-属性-高级系统设置-环境变量-系统变量-新建JAVA_HOME(jdk的啊安装路径)
- 点击Path,新建粘贴jdk安装路径到bin下,点击所有的确定
常用的指令(在BOS页面中用来测试是否安装成功):
java,javac,java, java -version ,java -jar
例如:
(1)创建一个Java文件
public class hello{ //声明一个类,名字叫hello public static void main(String args[]){ //主方法,顺序运行 System.out.println("hello world"); //打印hello world } }
(2)通过cmd指令找到这个文件
(3)java文件是我们写的,计算机不认识,需要我们翻译(编译)一下,使用javac生成hello.class文件
(4)执行hello
11. Java源程序分析
main方法分析
- 其中”public“是访问权限修饰符,用来限定访问权限的,public修饰的方法是公开的,任何类都可以访问。
- 其中”static“可译为”静态的“,被static修饰的方法可以通过**类名.方法名()**的方式调用,在本类中调用静态方法可以省略”类名.“
- 其中"void"是方法的返回值类型,void是空类型,即没有返回值。
- 其中"String[] args"是一个字符串数组,是留给开发人员的一个参数,由于main方法被JVM(java.exe)调用,所以在使用java.exe命令时,可以给args这个数组传参数。具体格式是:
12.JDK、JRE、JVM的区别:
- JDK涵盖了JRE和一些开发工具(例如:javadoc.exe,jshell.exe…)
- JRE涵盖了JVM以及Java开发所用到的核心库,是Java的运行环境
- JVM是java虚拟机,是java跨平台的核心,其内部内存可分为(栈、堆、方法区、本地方法栈、寄存器)
注意事项:
- Java严格区分大小写
- 写代码时,要么以分号结束,要么以大括号结束
- 所有的符号都是英文状态下的
- 代码提示:要注意观察代码提示,如果没有提示,大部分是错的
- IDEA有报错功能 12.标识符的命名规则
- 在开发中,只要是可以命名的东西,标识符
13.标识符的命名规则
1.关键字不能是标识符
2.标识符只能由字母、数字、_、$组成
3.标识符不能以数字开头
4.严格区分大小写
5.理论上没有长度限制,但最好不要过长
14.Java中的注释
- 单行注释:// 快捷键 ctrl /
- 多行格式/* */ 快捷键 ctrl shift /
- 文档注释 /** */
15.标识符的命名规范
1.变量名、方法名使用小驼峰式命名
2.类名、接口名、枚举名采用大驼峰式命名
3.包名全部小写
4.常量全部大写
16.运算符
-
加减乘除(+-*/%)
无论是a++还是++a的本意是让a自增1
a++是先赋值后+1
++a是先+1后赋值
面试题:如果a=10 问a++的值 10 ++a等于11 a等于11
-
赋值运算符
+= -= *= /= %=
根据计算结果看:a+=1 ----》 a = a +1
赋值运算符可以进行数据类型的转换,包括a++也可以
-
比较运算符
大于等于>=,小于等于<=,等于等于==,不等于!=
-
逻辑运算符
与&,或|,非!,异或^
与:当所以条件都为true 整体结果才是true,如果有一个为false则为false
或:当所以条件都为false 整体结果才是false,如果有一个为true则为true
-
双与的特点:当条件中有一个false则停止判断 效率高
-
单与的特点:无论有多少个假的,所以的条件都看一遍 效率低
-
双或的特点:当条件中有一个true则停止判断 效率高
-
单或的特点:无论有多少个真的,所以的条件都看一遍 效率低
17.关键字(53个关键字,有两个保留字)
- 官方解释:这个单词有他独一无二的左右
- 本人解释:黄色的字就是关键字
- 关键字不能用来命名
- 关键字都是小写的
- 保留字:goto const
18.变量
-
定义变量,为了后期的维护,重复利用
-
减少使用自变量
-
标识符:变量名的命名规则,小驼峰 第一个单词首字母小写,其他单词首字母大写
-
刁哥的底线:命名规范,不能有拼写错误,中英文,大小写
-
变量的值通过等号赋值:把等号右边的值通过等号赋给等号左边的值
-
如果在程序中看到了一个整数的字面量,没有任何数据类型声明的话,默认是int
-
如果在程序中看到了一个小数的字面量,没有任何数据类型声明的话,默认是double
-
Java中+-*/,数据类型严格的编程语言
-
Java中如果是两个整数运算,得到的一定是整数
-
精度:
-
整型:4种整数类型,精度是和位数挂钩的,占的位数越大,精度越高
-
浮点型:double的精度高于float
-
浮点型和整型之间:浮点型高于整型
-
低精度和高精度的做计算,得到的一定是高精度的数据类型结果
-
为什么int数据类型的数据给byte给不了?
有一种可能是“装不下”,所以大不能给小
扩展:
存性别用byte类型:0 or 1
******数据库里用tiyint存性别******