第一章
- 核心优势:跨平台.可移植性---------基于Java虚拟机
原理:源代码–>Java虚拟机(jvm)–>字节码文件(.class文件)–>Java虚拟机–>系统
JRE包含Java–>虚拟机(jvm) - Java SE 标准版 定位在个人计算机上的应用
Java EE 企业版 定位在服务器端的应用
Java ME 微型版 定位在消费性电子产品的应用上
文章图片
----------了解 - JVM:虚拟的用于执行bytecode字节码的虚拟计算机
JRE:Java Runtime Environment 包含Java虚拟机,库函数,以及运行Java应用时必需的环境
JDK:包含JRE以及编译器和调试器
文章图片
- JDK测试 win+r -->cmd --> java -version/javac -version --> 显示java版本号
错误:win10用cmd可以运行java,却不能运行javac
尽量别改jdk安装路径,如果改了看下是不是JAVA_HOME配置里的路径写错了
参考:https://jingyan.baidu.com/article/1612d500968640e20e1eeebb.html
问题 - 关键字public被称作访问修饰符(access modifier),用于控制程序的其它部分对这段代码的访问级别。
一个源文件中至多只能声明一个public类,其他类的个数不限,如果源文件中包含一个public类,源文件名必须和其中定义的public的类名相同,且以.java为拓展名。
public static void main(String[] arg){……}--------main方法 - 常见的DOS命令 cls-----清屏
文章图片
- Main方法是程序执行的入口。
2.1注释
注释不会出现在字节码文件当中
单行注释 使用“//”开头----------ctrl+/
多行注释 可以做行内注释;
以“/*”开头,以“*/”结尾---------ctrl+shift+/
文档注释 以“/**”开头,直接回车自动补齐,以“*/”结尾
2.2标识符
标识符是用来给变量、类、方法以及包进行命名的,如Welcome、main、System、age、name、gender等。标识符需要遵守一定的规则。
类的首字母大写;
不能使用关键字;
方法名和变量第一个单词首字母小写,第二个单词开始首字母大写
定义变量,数字不能开头,”$”和”_“可以用作开头,其他符号不行
可以使用汉字,一般不建议
文章图片
2.3关键字 了解即可
文章图片
2.4变量
变量是一个“可操作的存储空间“,但是里边存储什么值不确定,定义变量名来访问对应的存储空间,从而来控制它存储什么值。
1byte=8bit
变量声明之后需要初始化才能直接使用
局部变量,在方法或语句块内部定义的变量,只能在声明的方法或语句块内部使用,手动初始化之后才能使用。
成员变量,从属于对象,在类内部、方法外部声明的变量,会自动初始化。初始化的值见下表:
文章图片
静态变量,从属于类,-------static int size;生命周期最长
2.5常量--------大写字母加下划线
不肯更改的量都是常量
关键字final来定义一个常量,常量一旦被初始化之后不能再更改其值。
文章图片
2.6基本数据类型
数值型-byte(1字节)、short(2字节)、int(4字节)、 long(8字节)、float(4字节)、 double(8字节)
字符型-char(2字节)
布尔型-boolean(1位-bit)
引用数据类型全部为4字节----引用对象
文章图片
2.6.1整形变量/常量
拓展:-----------不懂long的那句为啥要在后边加L/l
文章图片
文章图片
文章图片
2.6.2浮点型变量/常量-----------------不懂,后续待补
浮点数是不精确的,不能用于比较
float 单精度类型 尾数精确到七位有效数字
double 双精度类型 尾数精确的14位有效数字
2.6.3字符型变量
转义字符
文章图片
//空字符串的作用:遇到+时char类型自动转换为数字,解决方法在前边加一个空字符串
文章图片
String就是字符序列
文章图片
2.6.4布尔类型
boolean类型有两个常量值,true和false,在内存中占一位(不是一个字节),不可以使用 0 或非 0 的整数替代 true 和 false 。boolean 类型用来判断逻辑条件,一般用于程序流程控制 。
文章图片
2.7运算符 *常用多练
文章图片
2.7.1 *视频讲解不太会
整数运算:
如果两个操作数有一个为Long,则结果也为long;
没有long时结果为int;即使操作数为short,byte,结果也是int;
浮点运算:
如果有两个操作数有一个为double,则结果为double;
只有两个操作数都是float,则结果才为float。
%取余:
“余数”符号和左边操作数相同,-7%3=-1
自增和自减:
a++; 和++a; 的区别:
文章图片
常用:记下来
文章图片
文章图片
关系运算符用来进行比较运算,关系运算的结果是布尔值:true/false;
文章图片
比较实例,输出为true/false
文章图片
2.7.2逻辑运算符
文章图片
亦或:b1^b2,都为true/false?false;当一个为true一个为false时?true。
短路与和短路或----碰到则直接返回,提高效率
文章图片
3.1.1 If语句
Math类的使用
1.java.lang包中的Math类提供了一些用于数学计算的方法。
2.Math.random()该方法用于产生一个0到1区间的double类型的随机数,但是不包括1。
int i = Math.random();
//产生:[0,1 )之间的随机整数
Math类:包含初高中的数学公式
If-else if-else语句中,后续条件会继承前边的条件的
3.2.1 switch语句
switch(letter) {
case 'a':------------case语句结束后是冒号结束
break;
---------------遇到break结束switch语句。
}
3.2.2 while语句
while(i<=100) {----------括号里是条件,符合条件则进入while循环
result=result + i;
i++;
------------通过内部语句限制条件,条件不符合跳出while循环
}
While循环先判断再执行do while循环先执行再判断
3.2.3 for循环
for(int i=1, j=i+10;
i<=4;
i++,j=i*3) {
System.out.println("i="+i+"j="+j);
}
for(定义,定义;
条件,条件;
迭代){语句块}
九九乘法表
3.2.4死循环如何结束
break;
//结束
return;
//返回
System.exit(0);
//退出方法
【Java基础知识---个人笔记,不全】附:免费视频教学 https://www.bilibili.com/video/av29306544/?p=63
推荐阅读
- cocos2dx::ui::Text 显示问题
- 个人笔记-从零开始iOS开发_C语言基础1
- java时间复杂度计算
- 双重检查锁为什么要使用volatile字段
- java中lombok里的Builder注解
- 个人笔记|ReentrantLock 可重入锁
- 个人笔记|数字图像处理(七)形态学处理之击中击不中变换、骨架提取
- javascript获取select值,树形随着select值的变化而变化
- DHCP 动态分配IP地址和指定分配IP