java系统化基础-day01-基础语法知识
1.学前必看
该课程将系统化的讲解java基础,但是该课程并不适合零基础的学员,因为在整个java学习体系中我们是按照实际生产设计,
主体思路是以完成某个业务为主线,用到什么技术就学什么技术,即带着问题去学习某个知识,等到把问题解决完后,在系统化的学习该知识点,这样既能明白学的知识是做什么的,还能做到真正的实战教学,并且大大提高了学习的效率;
SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。那么当前课程是基于我们之前的课程基础上进行系统化深入的讲解,如果你还没有学过之前的课程可以点击如先连接进行学习.
该课程的上一个阶段资料:https://www.cnblogs.com/newAndHui/category/1153640.html
学习方法:请先认真看浏览博客课件,知道大体要写什么内容,然后根据自己的实际情况,先按照博客上去学习,带着问题在结合视频学习,这样不但能提高自己的学习能力,还能提高学习效率!
2.学前预备知识
该课程讲解过程中会提到一些实际生产案例,相对来说内容会偏生,需具备能使用java在web页面上完成基本的CRUD的基础,学起来效果会更好.
3.基本语法
1.如果一个源文件中什么内容都没有,编译会不会生成 字节码文件?==>不会,编译的本质就是将程序员写的代码转变为计算机能认识的二进制文件,如果连类容都没有就不会编译,也就不会有字节码文件。
2.如果一个类中没有主方法,编译运行会怎么样?==>编译可以通过,但运行报错:没有主方法
什么是主方法 :是一个特殊的方法 ,是程序的入口,JVM开始执行的地方
3. 我们的代码最小的存在单位是类
1).类 主方法(方法) 叫结构性的代码 后面是不需要; (分号)
2).功能执行语句,例如 打印语句 后面必须加上;(分号)
3).类中不能够写功能执行语句, 例如打印语句
4).所有的标点符号都必须是英文状态下的
5).Java代码中是严格区分大小写
6).字节码文件的名字和类名一致,建议源文件名字和类名一致
7). 一个Java源文件中可以写多个并列的类,编译完毕之后会生成多个独立的字节码文件
建议 : 在实际开发中一个java文件中只写一个类
8). 一个类可以使用public修饰
如果一个类使用public修饰,必须和源文件名字一致,而且我们一般也只会在一个java文件里写一个类,不建议写多个类。
一个源文件中,至多只能有一个类可以被public修饰
4.java注释
1.什么是注释,有什么用
注释其实可以看成是备注,主要是写给(自己)程序员看的,代码运行的时候是不会管注释内容的,可以增强代码的可读性。
2.如何写
1)// 单行注释,注释一行(是以行终止符为准)
2)/* */ 多行注释,可以注释多行
每一行前面都加* 只是为了好看
3)/** */ 文档注释,效果很像多行注释,也可以注释多行,特点 :可以通过一个命令javadoc 把文档注释中的内容生产文档
注意 :单行注释 和 多行注释不能 相互嵌套
3.什么时候写 在什么地方写
写代码时候养成写注释的习惯--》 代码的可读性增强
1)思路 流程
2)关键代码
类的整体描述; 字段 方法 构造方法前面都会写注释
5.java中的分隔符
分号(;):语句的分割,表示一句话结束,好比咱们使用的句号。
花括号({}):表示一个代码块,是一个整体,花括号要成对使用。
方括号([]):定义数组和访问数组元素时使用。
圆括号(()):使用很广泛,具体用到细讲。
圆点(.):类和对象访问它的成员时使用。
空格( ):把一整条语句分割成几段,空格的次数不限制。
一般单词之间一个空格就可以了
注意:必须都是半角下的英文符号。
6.java中关键字、保留字、标识符
Java关键字: Java语言设计之初,被赋予特殊意义的单词。
通常用来程序控制,错误处理,基本类型,类,方法和变量修饰符……等等
共同点:所有的字母全部小写
保留字:goto const 在java中现在还没有赋予它特殊意义,以后可能会用,预留起来
标识符:为了增强程序的阅读性而自定义的名称。比如:类名,方法名,变量名等
标识符的命名规则:
- 所有的标识符都应该以字母(A-Z或者a-z),美元符($)、或者下划线(_),数字(不能以数字开头)开始
- 关键字不能用作标识符
- 标识符是大小写敏感的
- 合法标识符举例:age、$salary、_value
- 非法标识符举例:123abc、-salary
书写建议:
- 一般来说都是取一些有意义的单词
- 类名首字母必须大写
- 方法名,变量名 首字母小写
- 如果是有多个单词组成,后面每一个单词首字母大写(驼峰法命名)
总结:严格按照==》简单明了,驼峰命名法,除了类名首字母大写,其他都采用首字母小写的驼峰命名法
7.java中的数据类型
7.1.基本数据类型(8种)
整数类型
各个类型之间的取值范围
A.byte(8位,-2^8--2^8-1范围是-128到127)
B.short(16位,-32768—32767)
C.int(32位,-2147483648—2147483647)
D.long (64位,-9223372036854775808—9223372036854775807)
注意:给long赋值时,因为整数默认是int类型,要转换为long类型的值,后面加上l或L
上面的byte short int long 最大长度可以通过jdk文档去找到 具体的范围。
同一个整数可以使用不同的进制表示:
默认的进制10进制
二进制: 是 0b 或者 0B开头
八进制: 是0开头
十六进制: 0X (0x) 开头
浮点型(小数型)
A. float(单精度32位) 直接赋值时必须在数字后加上f 或F
B. double( 双精度64位)
区别:
对于单精度浮点数,运行速度相比double更快,占内存更小,但是当数值非常大或者非常小的时候会变得不精确。
双精度比单精度表示的位数大 精确的位数多,简单地说, float表示的小数点位数少。
默认浮点数的类型是 double
表现形式:
1.常规 3.14
2.科学计数法
注意:
表示float 类型 必须加上f 或者F
float double 不能精确表示一个小数,例如 1.3*1.4
例如 double num= 1.0, 是一个无限接近1.0的一个值
那怎么更精确的表示浮点数呢?BigDecimal
结论:浮点运算很少是精确的,只要是超过精度能表示的范围就会产生误差。
往往产生误差不是 因为数的大小,而是因为数的精度。
因此,产生的结果接近但不等于想要的结果。尤其在使用 float 和 double 作精确运 算的时候要特别小心。
具体案例代码如下:

1 package com.wfd360.com; 2 3 import org.junit.Test; 4 5 /** 6 * <p> 7 * 1.数据类型概述 8 * 123,3.14 9 * 在java中不同类型的数据有不同的数据类型,看看下面的数据类型的分类: 10 * 分类: 11 * 一、基本数据类型 8 种 java预定义的类型(原生数据类型) 12 * 1.整数类型 *4 123 13 * byte 1个字节8位 14 * short 2字节16位 15 * int 4字节32位 16 * long 8字节64位 17 * <p> 18 * 2.小数类型(浮点类型) *2 3.14 19 * float 单精度 4字节32位 20 * double 双精度 8字节64位 21 * 3.字符类型 *1 22 * char 2字节16位 ‘A’,’B’ 23 * 4.布尔类型*1 24 * boolean 俩值 true ,false 25 */ 26 public class DataType { 27 /** 28 * 整数类型 4种 29 */ 30 @Test 31 public void test1() { 32 //byte 1个字节8位 33 byte b = 6; 34 //short 2字节16位 35 short s = 6; 36 //int 4字节32位 (经常使用) 37 int i = 6; 38 //long 8字节64位 (通常在取时间毫秒时使用) 39 long l = 6; 40 String format = String.format("b=%s,s=%s,i=%s,l=%s", b, s, i, l); 41 System.out.println(" format=" + format); 42 } 43 44 /** 45 * 小数类型 2种 46 */ 47 @Test 48 public void test2() { 49 // float 单精度 4字节32位,后面必须带f,大写也可以,建议使用小写 50 float f = 3.14f; //推荐写法 51 float f2 = 3.14F; 52 // double 双精度 8字节64位 (经常使用) 53 double d = 3.14; //推荐写法 54 double d2 = 3.14d; 55 double d3 = 3.14D; 56 String format = String.format("f=%s,f2=%s,d=%s,d2=%s,d3=%s", f, f2, d, d2, d3); 57 System.out.println(" format=" + format); 58 } 59 60 /** 61 * 字符类型 1种 62 */ 63 @Test 64 public void test3() { 65 //char 2字节16位 ,例如:‘A’,’B’,注意使用的是单引号,一般不使用,一般使用String类型代替 66 char c = 'A'; 67 System.out.println("c=" + c); 68 } 69 70 /** 71 * 布尔类型 1 种 72 */ 73 @Test 74 public void test4() { 75 // boolean 俩值 true ,false 76 boolean b = true; 77 boolean b2 = false; 78 System.out.println("b=" + b + ",b1=" + b2); 79 } 80 }View Code
7.2.引用数据类型
类,数组,接口,枚举……
7.3.进制(了解)
1) 2进制 (逢2进1)
其中的符号可以是 0 1 110等于10进制的2 第一位1 ==2*’1‘ 2*2 第二位1==2
2) 8进制(逢8进1)
其中的符号可以是0 1 2 3 4 5 6 7 10等于10进制的8
3) 10进制 (逢10进1)
其中的符号可以是 0 1 2 3 4 5 6 7 8 9 10
4) 16进制(逢16进1)
其中的符号可以是0 1 2 3 4 5 6 7 8 9 A B C D E F 11等于10进制的17
平时我们在日常生活中使用的是10进制,计算机底层中大都使用的 2进制,每一种进制之间是可以相互转化的 ,
具体转化,大家可以参考度娘:进制转化百度百科
9.数据类型转换
10.java中的常量
11.java中的变量
12.java中的表达式
