Java基础学习笔记(一)
2021/4/14 20:28:05
本文主要是介绍Java基础学习笔记(一),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
注释
- 单行注释://
- 多行注释:/* */
- 文档注释:/** */
字节
计算机内部数据存储的最小单位是位(bit),计算机数据处理的基本单位是字节B(byte),1 B=8 bit。
Java中的数据都是有符号的,一个byte可以存储 -128 ~ 127 的数值,为什么呢?以下为解释:
- 计算机中带符号的整数都是使用二进制的补码
- 正数的补码就是它本身,而负数的补码,是在原二进制值上按位取反(反码)再加1
- 一个byte有8 bit,最高位表示符号,“0”表示正数,“1”表示负数
- 正数最大值为 0111 1111,就是十进制的 +127。加1变成 1000 0000,第一位表示负数,其他位按位取反为 111 1111,再加1,成为1000 0000,换算成十进制为 128,再加上前面的负号就是 -128。整个过程像一个表盘,指针走到最大值,再往前走,变成最小值。(可以尝试继续加1,二进制数值为 1000 0001,是十进制的 -127)
标识符
- 可以用字母(a-z或A-Z),美元符($),下划线(_)开头。
- 首字母之后可以是字母(a-z或A-Z),美元符($),下划线(_),数字的组合。
- 不能使用关键字作为变量名或方法名
- 大小写敏感
- 可以用中文命名
数据类型
Java是强类型语言:要求变量的使用要严格符合规定,所有变量必须先定义才能使用
基本类型
primitive type
-
数值类型
- 整数:byte、short、int(二进制以0b开头,八进制以0开头,十六进制以0x开头)、long(数值后加L)
- 浮点:float(数值后加F)、double
- 浮点数是离散的,会舍入误差,结果是个约数,所以最好避免float型的数值比较,银行业务会用BigDecimal类来表示数值
- 字符:char(单字符)
- String可以定义字符串,单String是类,不是关键字
- char可用(int)强制转换成数值,字符的本质还是数字
- Unicode编码 U0000 ~ UFFFF,char a ='\u0031'
- 转义字符:\t 制表符,\n 换行符
-
boolean类型:占一位,值为true或false
-
类型由字节大小从底到高排序为
byte,short,char-->int-->long-->float-->double
运算中,不同类型的数据会先转化为同一类型,有以下注意事项:
- 由低到高是自动转换,不需要更多操作
- 由高到低是强制转换,(byte)i,有可能会造成内存溢出,或精度问题
- 不能对布尔值进行转换
- 不能把对象类型转换为不相干类型
- 运算中会自动转换成对象的最高位,低于int类型的运算结果为int类型
引用类型
reference type
- 类
- 接口
- 数组
命名规范
- 要能见名知意
- 类成员变量/局部变量/方法名:首字母小写和驼峰原则:lastName
- 常量:大写字母和下划线:MAX_VALUE
- 类名:首字母大写和驼峰原则:GoodMan
运输符
-
一元运算符
++自增,--自减
b = a++ 相当于 b=a, a=a+1
b = ++a 相当于 a=a+1,b=a
--类似
-
二元运算符
+、-、*、/、%(模运算,取余)
-
Math工具类,pow幂
-
逻辑运算符,与(&&)、或(||)、非(!)
public class Test { public static void main(String[] args) { boolean a = true; boolean b = false; System.out.println("a && b:"+(a&&b)); System.out.println("a || b:"+(a||b)); System.out.println("!(a && b"+!(a&&b)); } }
与、或运算在第一次遇到false,运算就停止了
public class Test { public static void main(String[] args) { int a = 3; boolean b = (a<1)&&(a++<4); //结果a没有执行加1,短路运算 System.out.println(a); System.out.println(b); } }
-
位运算符(按位计算),与(&)、或(|)、非(~)、异或(^)相同为0否则为1、左移(<<)、右移(>>)
-- 左移的神奇之处,<<相当于乘以2,>>相当于除以2,直接与底层二进制打交道,位运算的效率很高 0000 0000 0 0000 0001 1 0000 0010 2 0000 0100 4 0000 1000 8 0001 0000 16
-
扩展赋值运算符,+=、-=、*=、/=,a+=b相当于 a=a+b
-
字符串连接符 +,+两侧有一个为String类型,会都转换为String类型进行连接
public class Test { public static void main(String[] args) { int a =10; int b =20; System.out.println(""+a+b); //1020,String类型在左 System.out.println(a+b+""); //30,String类型在右 } }
-
三元运算符,()?y : z ,如果()内条件为true,结果输出y,否则输出z。功能相当于if语句
public class Test { public static void main(String[] args) { int score = 80; String type = score<60 ? "不及格" : "及格"; System.out.println(type); } }
-
优先级
包机制
包的本质就是文件夹,用于区别类名的命名空间,一般利用公司域名倒置作为包名,com.baidu.www
在使用某一包的成员,需要在程序中明确导入该包 import package1[.package2].classname/ *;
JavaDoc
可以利用注释信息生成帮助文档,类似与api:
https://www.oracle.com/cn/java/technologies/java-se-api-doc.html
https://docs.oracle.com/javase/8/docs/api/
生成方式:
-
通过命令行:javadoc 参数 Java文件
javadoc -encoding UTF-8 charset UTF-8 Doc.java
-
IDEA方式
-
代码样式
package com.okami; /** * @author 作者名 * @version 版本号 * @since 指明需要最早使用的jdk版本 * @param 参数名 * return 返回值情况 * @throws 异常抛出情况 */ public class Doc { String name; /** * * @param name * @return * @throws Exception */ public String test(String name) throws Exception{ return name; } }
-
点击Tools->Generate JavaDoc
-
Other command line arguments: -encoding utf-8 -charset utf-8
-
在输出目录中找到 index.html 打开
-
快捷方式
- 跳转类文件:例如String,ctrl+鼠标左键点击String
这篇关于Java基础学习笔记(一)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-05-09“2024鸿蒙零基础快速实战-仿抖音App开发(ArkTS版)”实战课程已上线
- 2024-05-09聊聊如何通过arthas-tunnel-server来远程管理所有需要arthas监控的应用
- 2024-05-09log4j2这么配就对了
- 2024-05-09nginx修改Content-Type
- 2024-05-09Redis多数据源,看这篇就够了
- 2024-05-09Google Chrome驱动程序 124.0.6367.62(正式版本)去哪下载?
- 2024-05-09有没有大佬知道这种数据应该怎么抓取呀?
- 2024-05-09这种运行结果里的10.100000001,怎么能最快改成10.1?
- 2024-05-09企业src漏洞挖掘-有意思的命令执行
- 2024-05-08阿里云域名注册流程,分享给第一次购买域名的新手站长!