Java基础

本文详细介绍了Java编程的基础知识,包括标识符的规则、数据类型的分类及其特点,如数值型、字符型和布尔型,并探讨了变量的声明、类型转换以及命名规范。此外,还讲解了运算符的使用,如自增、自减及位运算,以及字符串连接在Java中的表现。最后,提到了包机制、JavaDoc的生成以及变量的命名规范,强调了程序的可读性和规范性的重要性。
摘要由CSDN通过智能技术生成

注释

单行注释: //
多行注释:/ * * /
文档注释:/** */ JavaDoc

常用标识符

在这里插入图片描述

  • 所有的标识符都应该以字母(A-Z或者a-z),美元符($)、或者下划线(_)开始
  • 首字符之后可以是字母(A-Z或者a-z),美元符( $ )、下划线(_)或数字的任何字符组合不能使用关键字作为变量名或方法名。
    标识符是大小写敏感的
  • 合法标识符举例: age、$salary._value、_1_value
  • 非法标识符举例:123abc、-salary、t#abc
  • 可以使用中文命名,但是一般不建议这样去使用,也不建议使用拼音,很Low

数据类型

强类型语言

要求变量的使用严格符合规定,所有变量都必须先定义后才能使用 ,特点:安全性高 ,缺点:速度效率损失

弱类型语言

要求变量的使用符合规定

Java的数据类型分为两大类

在这里插入图片描述

基本类型(primitive type)

分为整数类型,浮点类型,字符类型,布尔类型
基本数据类型分为三大类
**由图可知,我们继续按照Java的基本数据类型可以分为三大类:

①数值型
数值型数据(metric data)是按数字尺度测量的观察值,其结果表现为具体的数值。现实中所处理的大多数都是数值型数据。
Java的整型常量默认为int 型,声明long型常量须后加‘I’或‘L’
Java的浮点型常量默认为double型,声明float型常量,须后加‘f’或‘F。
float 有限 离散 舍入误差 大约 接近但不等于 最好完全避免使用浮点数进行比较 因为不准确
注释:银行业务(钱)需要浮点数进行表示 专门的数学工具类 BigDecimal JDK新特性:数字之间可以用下划线分割 如 10_0000_0000 即1000000000

②字符型
字符型(Character)数据是不具计算能力的文字数据类型,用字母C表示。
它包括中文字符、英文字符、数字字符和其他ASCⅡ字符,其长度(即字符个数)范围是0-255个字符,即0x00至0xFF。
所有的字符本质还是数字 编码 Unicode 2字节 范围0-65536 (a=97 A=65) u0000-uFFFF
\u0061 就是 a
在这里插入图片描述

③布尔型
布尔数据是sql server中的一个名词,布尔数据由binary(二进制)数字组成,即0和1。

在这里插入图片描述
拓展:
1bit 表示1位
1Byte 表示一个字节 1B = 8bit
1024B = 1KB
1024KB = 1M
1024M = 1G
1024G = 1T

计算机是用二进制来表示数据的,一个字节也就是8个比特位,其中最高位表示符号位(0正1负)
在Java中,是采用补码来表示数据的 正数的补码和原码相同,负数的补码是在原码的基础上各位取反然后加1
byte 占一个字节 共有2^8=256种可能性
故byte的取值范围为1000 0000 到 0111 1111 (其中最高位表示符号位(0正1负))
1000 000是补码,减一然后按位取反得到其原码1000 0000
(减一得 0111 1111,再按位取反得 1000 0000)
因为是负数,所以最小的byte值为-2^7=-128
0111 1111的十进制为2^7-1=127(等比序列求和)
所以byte取值范围-128~127
其他基本数据类型同理
char没有负值,占两个字节,所以最小值为0,最大值为1111 1111 1111 1111,故取值范围是0~2^16-1(65535)

引用类型(reference type)

在这里插入图片描述

类型转换

在这里插入图片描述
注意点:
1、不能对布尔值进行转换
2、不能把对象类型转换成为不相干的类型
3、在把高容量转换到低容量的时候,用强制转换
4、转换的时候可能存在内存溢出,和精度问题

强制类型转换

高到低需要进行强制转换。  强制转换格式: (类型)变量名

自动类型转换

低到高直接进行自动转换

变量

Java是一种强类型语言,每个变量都必须声明其类型。
Java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域。
在这里插入图片描述
不建议一行声明多个变量,注意程序可读性。
注意事项:
每个变量都有类型,类型可以是基本类型,也可以是引用类型。变量名必须是合法的标识符。
变量声明是一条完整的语句,因此每一个声明都必须以分号结束

局部变量

在方法体以内,必须声明和初始化值,且旨在方法体内生效

实例变量

从属于对象,可以不需要初始化值。如果不进行初始值,会设为这个类型的默认值 如:0  0.0  布尔值默认是false 除了基本类型其余的默认值都是null

类变量 (static)

可以直接用 从属于类

常量(final)

常量(Constant):初始化(initialize)后不能再改变值!不会变动的值。
所谓常量可以理解成一种特殊的变量,它的值被设定后,在程序运行过程中不允许被改变。

final 常量名 = 值
final double PI=3.14

常量名一般使用大写字符,修饰符,不存在先后顺序 public static final

变量的命名规范

  • 所有变量、方法、类名:见名知意
  • 类成员变量:首字母小写和驼峰原则: monthSalary
  • 局部变量:首字母小写和驼峰原则
  • 常量:大写字母和下划线:MAX_VALUE
  • 类名:首字母大写和驼峰原则: Man, GoodMan
  • 方法名:首字母小写和驼峰原则: run(), runRun()

运算符(注意短路运算)

在这里插入图片描述

++和-- 自增与自减

a++ 先赋值 再自增
++a 先自增 后赋值

Math

很多运算,会使用一些工具类来操作!
pow()乘方
abs()绝对值

位运算(不要轻易使用 容易出错,但效率高)

A = 0011 1100
B = 0000 1101

与:A & B = 0000 1100 (遇0得0)
或:A | B = 0011 1101(遇1得1)
异或:A ^ B = 0011 0001 (相同为0 不同为1)
取反:~ A = 1100 0011(完全取反)
左移:<< 即 * 2
如:2<<3 (左移三位) 即2 *(2 * 2 * 2)=16
右移:>> 即 / 2

三元运算符(?:)

X?Y : Z(如果X为真则返回Y 若为假则返回Z,X可以为表达式)

字符串加法

面试题注意点

int a =10
int b = 20
//字符串连接符 +  , String   任何类型与字符串类型相加结果会变成字符串类型
System.out.println(""+a+b);  //输出结果是1020    String类型
System.out.println(a+b+"");//输出结果是30        String类型

运算符优先级和结合性

在这里插入图片描述

包机制

为了更好地组织类,Java提供了包机制,用于区别类名的命名空间。包语句的语法格式为:

pacakage pkg1[.pkg2[.pkg3…]]

一般利用公司域名倒置作为包名;
为了能够使用某一个包的成员,我们需要在Java程序中明确导入该包。使用"import”语句可完成此功能:

import pacakage1[.package2…].(classname|*)

JavaDoc

javadoc命令是用来生成自己API文档的
参数信息
@author作者名
@version 版本号
@since指明需要最早使用的jdk版本
@param 参数名
@return返回值情况
@throws异常抛出情况

通过命令行生成文档API

打开所写类 所在文件目录的终端,运行javadoc命令
操作:右击所写类Doc 选中open in->terminal
在这里插入图片描述
运行命令javadoc -encoding UTF-8 -charset UTF-8 Doc.java

![在这里插入图片描述](https://img-blog.csdnimg.cn/20210623171209800.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NDIxNzkzNg==,size_16,color_FFFFFF,t_70
生成如下所有文件 打开index
在这里插入图片描述
在这里插入图片描述

IDEA 生产JavaDoc文档

首先选择需要生成文档的代码
在这里插入图片描述
然后在顶部Tools 选择红标所示

在这里插入图片描述
选择所选类目录地址,选择输出javadoc文档生成地址,在第三个红标出填写编码格式避免乱码 -encoding utf-8 -charset utf-8
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值