JAVA 知识总结19.1.15

JAVA知识总结

1.学习Java第一点,我们先了解 “什么是Java”
Java可以理解为编程语言或者开发工具。
目的
Java 最终的目的是用于编写直接在机器上运行的程序。与 HTML 运行与浏览器,SQL 运行与数据库系统对比,Java 能做的事情更多,更加的普遍。
2.Java 的运行原理
学习Java,我们还要了解Java的 运行原理,这里有一张图阐释了他的原理
在这里插入图片描述
Java源程序经过编译器编译后变成字节码,字节码由虚拟机解释执行,虚拟机将每一条要执行的字节码送给解释器,解释器将其翻译成特定机器上的机器码,然后在特定的机器上运行。正常来说程序猿们编写的代码机器是看不懂的,同理字节码文件正常程序猿也看不懂,不正常程序猿也看不懂。所以即使你有某个程序的字节码文件对你而言也毫无意义。当然可以反编译,不过有误差。
3.JDK
工欲善其事必先利其器,熟练使用jdk将大大提高Java的开发效率。
Java开发工具包(Java Development Kit),是一套用户给 Java 编程人员的开发套件,其中包含:
JRE (Java Runtime Envoirment):Java 运行时环境,其中最重要的部件是 JVM;
Java 开发工具:编译工具 javac、API 生成工具 javadoc…;
核心类库 (Java API)
那么下载安装完jdk该如何配置呢,其实很简单就三步
在我的电脑-属性-高级系统设置-环境变量-系统变量中
1)、 新建JAVA_HOME = d:\xx\xx\jdk1.8(java bin文件的根目录,1.8即版本号,后期工作即使换了版本也可以直接更改版本号就行)

2)、在 Path 中追加目录%JAVA_HOME%\bin

3)、新建CLASSPATH = .;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;
这样就完成了 JDK 的配置。
4.Java类和对象
现在就可以愉快的开始Java的学习了,首先我们要明白Java中类和对象的概念
划重点:类是 Java 中最基础的组成单元
类和对象概念
类是一群对象的特征母版,对象是类的实现。
特征(类)包含的内容有:基本属性(属性)、行为(方法)
大段的文字概念其实很枯燥估计没人看的下去,我也是复制的俺老师的。
打个很形象的比例,咱大街上看到一条狗,这条狗就可以是一个类,而这条狗是单独的一条哈士奇一条金毛一条藏獒,那么狗的品种就是他的对象,哈士奇就是他这个对象的值。同理,这条狗是黑的红的蓝的,那么颜色就是这条狗的对象,红的就是颜色这个对象的值。这个例子很形象了吧。
类:狗
品种(对象):哈士奇(值),金毛(值)
颜色(对象):蓝色(值),绿色(值)
5.数据类型
Java的基础语言要素这里我就不过多的阐释懒得copy,这里着重说一下数据类型
Java 是一种强数据类型的语言,就是指在变量进行定义的时候,就指定了变量的数据类型是什么。
变量的概念:把一堆数据起了个名字。
数据类型其实就是在内存中用不同的结构对数据进行存储和运算。
内存:运行中的程序都会占用内存空间,因为程序在运行过程中,需要开辟包括方法栈区、变量…,广泛的理解,在程序运行结束后内存空间会被释放,但是定义的变量、方法等,都是有「生命周期」的,一旦变量销毁了,内存也是会释放的。
在 Java 中,有垃圾自动回收机制 GC ,对于释放的或者无效的变量会自动回收,不像 C 、C++ 要手动的去释放。

数据类型的分类
数值型
整数型:byte(-128-127)、short(15次方)、int(31次方)、long(63次方)
浮点型:float(38次方)、double(308次方)
在实际开发中,我们一般使用 int、double
字符型
char:用单引号表示,Java 中使用16位的 Unicode 字符集作为编码方式
布尔型
boolean:表示逻辑中的真和假,值只有 true / false
表示方式
直接通过单个字符表示:‘a’、‘9’ 等;
通过转义字符表示:’\t’、’\n’、’\r’、’’’;
直接使用 unicode 表示:’\uxxxx’。
举个栗子比如3.14就使用double
double a = 3.14;
6.变量
在 JS 中,通过 var i = 10; i = “abc”; 使用变量,因为没有在声明变量的时候给于数据类型的强制定义,可以给变量赋予任意类型的值。我们把 JavaScript 称为弱类型编程语。而Java 在声明编程时候,必须准确定义变量的数据类型。
变量声明的语法:
数据类型 变量名;
比如:int a;
变量赋值的语法:
变量名 = 值;
比如:a = 10;
一般在Java里两者可以写在一起就成了
数据类型 变量名 = 值;
int a = 10;
7.直接量
直接量是指在程序中直接通过源代码的方式指定的值,有时也成为字面量。在编译的时候,JVM 就定义到常量池中。
比如 int a = 5; 这里的 5 就是一个直接量。
在 Java 中可以定义的直接量包含:基本数据类型、字符串类型、null。
这里有个图可以理清下思路
在这里插入图片描述
8.运算符
1)算术运算符
+ - * / % ++ –
+ 运算符除了进行数学运算的加法之外,还可以做字符串的拼接。
++ 自增
– 自减
举个栗子
int m = 10;
System.out.println(m++); // 10
System.out.println(m); // 11
System.out.println(++m); // 12
System.out.println(-m); // -12
2)赋值运算符
= += -= = *= %=
举个栗子
m += 1; // m = m + 1
System.out.println(m); // 13
m -= 1; // m = m - 1
System.out.println(m); // 12
3)比较运算符
用于判断两个变量或者常量的大小,返回结果为 true/false。
> < <= >= == !=
4)逻辑运算符
运算符两边必须是 boolean 类型的变量、常量、表达式
与 && 或者 || 非 !
与:只要有一个假就是假
或者:只要有一个真就是真
这个逻辑其实和JS里的一样
5)三目运算符
expression ? if-true-statement : if-false-statement
举个栗子:
int age = 16;
String ageStr = age > 18 ? “成年” : “未成年”;
System.out.println(ageStr); // 未成年
9.流程控制
前面知识是用来夯实基础,大体意思咱都懂了接下来就可以按照流程来书写Java了
顺序结构
程序是一个自上而下运行的过程。
分支选择结构
Java 中的分支选择结构有 if 结构、switch 结构
if包括三种结构方式,其实就和JS里的function各种结构和循环一样,学好了function在学这个其实很简单。很可惜,虽然老师像老父亲一般详细的交到了我,我JS依然学的不好
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
switch 结构
swtich 语句是有控制表达式和多个 case 标签块组成。在控制表达式中,只允许出现 byte、short、int、char四种基础数据类型,在JDK1.7以后,支持 String 类型的控制表达式。
循环结构
循环语句可以在满足循环条件的情况下,反复执行某一段代码。
被重复执行的代码叫做循环体。
循环语句可能包含的部分有:
初始化语句(init_statement):一条或多条语句,这些语句用于完成一些初始化的工作。
循环条件(test_expression):是一个 boolean 类型的表达式,这个表达式决定是否继续执行循环体。
循环体(body_statement):如果条件允许,循环体会被反复执行。
迭代语句(iteration_statement):在一次循环体执行结束后,对循环体条件进行求值,通常用于控制循环条件中的变量,使得循环在合适的时候结束。
在这里插入图片描述
在这里插入图片描述
for 循环
语法:
for ([init_statement]; test_expression; [iteration_statement]) {
body_statement;
}
实例
int sum = 0;
for (int i = 1; i <= 28; i++) {
sum = sum + i;
}
System.out.println(sum);
在实际的开发中,对于已知循环次数的遍历,一般使用 for 循环。而且 for 循环的应用场景要比 while 循环多。
控制循环结构
break:在循环体中,使用 break 关键字跳出整个循环。
int flag = 6;
int sum = 0;
for (int i = 1; i <= 10; i++) {
sum = sum + i;
if (i == flag) {
break;
}
}
System.out.println(sum); // 21

continue:在循环体中,使用 continue 跳出本次循环,循环还会继续执行。
int sum = 0;
for (int i = 1; i <= 10; i++) {
if (i % 2 == 0) {
continue;
}
sum = sum + i;
}
System.out.println(sum); // 25
哎嘛,目前咱就学了这么多,先总结这么多等回头学新的了咱再继续总结。

猜你喜欢

转载自blog.csdn.net/weixin_43805637/article/details/86494942