java基础部分第一阶段

具体视频:bilibili,搜索遇见狂神说;免费系统学习java全课程

网址:https://space.bilibili.com/95256449/video?tid=0&page=2&keyword=&order=pubdate

基础部分第一阶段

1. 注释,标识符,关键字

注释
  • 平时我们编写代码,在代码量比较少的时候,我们可以看懂自己写的代码,但是当项目结构一旦复杂起来,我们就需要用到注释了.
  • 注释并不会被执行,是该我们写代码的人看的.
  • 书写注释是一个非常好的习惯

Java中注释有三种:

  • 单行注释://
  • 多行注释:/* */
  • 文档注释: /** */
标识符

关键字:

关键字

java所有的组成部分都需要名字,类名,变量名以及方法名都都被称为标识符.

标识符注意点
  1. 所有的标识符都应该以字母(A-Z,a-z),美元符号($),或者下划线(_)开始
  2. 首字符之后可以是字母,美元符号,下划线,或者数字任意字符组合.
  3. 不能使用关键字作为变量名或者方法名.
  4. 标识符大小写敏感
  5. 可以使用中文命名,但是不建议使用,也不建议拼音.

2. 数据类型

变量就是申请内存来存储值。也就是说,当创建变量的时候,需要在内存中申请空间。

内存管理系统根据变量的类型为变量分配存储空间,分配的空间只能用来储存该类型数据。

  • 强类型语言:java 要求变量的使用都要严格符合规定,所以变量都必须先定义后使用(比较安全,速度较低)
  • 弱类型语言:javascript
Java的数据类型分为两大类
  • 基本类型:primitive type
  • 引用类型:reference type

  • byte:-128~127占一个字节

  • short:-32768~32767占两个字节

  • int:-2147483648~2147483647占四个字节

  • long:占八个字节

  • float:占四个字节定义时末尾加上F

  • double:占八个字节末尾加上L

  • char:两个字节

  • boolean:占一位

String:不是关键字

什么是字节?

位(bit):是计算机内部数据存储的最小单位,11001100是一个八位二进制数

字节(byte):是计算机中数据处理的基本单位,习惯上用大写B表示

1B(byte,字节)=8bit(位)

字符:是指计算机中使用的字母,数字,字和符号

1bit表示1位

1Byte表示一个字节 1B=8b

1024B=1KB

1024KB=1MB

1024MB=1GB

整数扩展:二进制0b 十进制 八进制0 十六进制0x

int i1=10;
int i2=010;//八进制,表示8
int i3=0x10;//十六进制表示16

浮点数扩展:银行业务怎么表示?钱

BigDecimal:数学工具类

float:有限 离散 舍入误差 大约 接近但不等于

double:

最好不要用浮点型数进行比较

float f=0.1f;
double d=1.0/10;
System.out.println(f==d);//false
float d1=232323232323232f;
float d2=d1+1;
System.out.println(d1==d2);//true

字符扩展:所有的字符本质还是数字

编码Unicode表U0000-UFFFF:97=a 2字节 0-65535

char c1='a';
char c2='中';
System.out.println(c1);//a
System.out.println((int)c1);//强制转换97
System.out.println(c2);//中
System.out.println((int)c2);//强制转换20013

转义字符:

布尔值扩展:

boolean flag = true;
if(flag==true){}//新手
if(flag){}//老手
//代码要精简容易读

3. 类型转换

由于java是强类型语言,所以要进行有些运算的时候,需要用到类型转换

低---------------------------------------------------------->高

byte,short,char----->int---->long---->float---->double

参与运算时,byte,short,char会自动转化为int

运算中,不同的类型的数据先转化为同一类型,然后进行运算.

强制类型转换:(类型)变量名 高–>低
int i = 128;
byte j = (byte)i;
System.out.println(i);//i=128
System.out.println(j);//j=-128,byte范围-128~127,内存溢出了
自动类型转换:低–>高
int i = 128;
double j = i;
System.out.println(i);//i=128
System.out.println(j);//j=128.0
注意点:
  1. 不能对布尔值进行转换

  2. 不能把对象类型转为不相干的类型

  3. 在把高容量换到低容量时候,强制类型转换

  4. 转换的时候可能存在内存溢出,或者精度问题

    //操作比较大的数的时候,注意溢出问题
    //jdk7新特性,数字之间可以用下划线分割
    int money = 10_0000_0000;
    System.out.println(money);//1000000000
    int years = 20;
    int total = money*years;//-1474836480,计算的时候溢出了
    long total2 = money*years;//-1474836480,计算的时候默认是int,已经溢出转换之前已经存在问题
    long total3 = money*((long)years);
    System.out.println(total3);//20000000000
    

4. 变量,常量

变量
  • 变量是什么:就是可以变化的量.
  • java是一种强类型语言,每个变量都必须声明其类型.
  • java变量是程序中最基本的存储单元,其要素包括变量名,变量类型作用域.
注意事项:
  • 每个变量都有类型,类型可以是基本类型,也可以是引用类型.
  • 变量名必须是合法标识符.
  • 变量声明是一条完整的语句,因此每一个声明都必须以分号结束
变量作用域
  • 类变量:可以在局部变量直接使用,或者类名.类变量名.
  • 实例变量:可以不初始化,数字默认值为0或者0.0;除了基本类型其余默认为null;布尔值默认false;
  • 局部变量:必须先初始化再使用
public class Variable{
	static int allClicks = 0;//类变量
	String str = "hello";//实例变量
	public void method(){
		int i = 0;//局部变量
	}
}
常量
  • 常量(Constant):初始化后不能再改变值.不会变动的值.
  • 所谓的常量可以理解成一种特殊的变量,它的值被设定后,在程序运行过程中不允许被改变.
  • final 变量名=值;
  • 常量名一般都使用大写字符.

final double PI = 3.14;

变量的命名规范
  • 所有的变量,方法,类名:见名知意
  • 类成员变量:首字母小写小驼峰规则monthSalary
  • 局部变量:首字母小写小驼峰规则
  • 常量:大写字母和下划线:MAX_VALUE
  • 类名:首字母大写和大驼峰规则:Man,CoodMan
  • 方法名:首字母小写小驼峰规则

5. 运算符

java语言支持如下运算符:优先级()

  • 算术运算符:+,-,*,/,%,++,–(很多运算我们会使用Math工具类操作:例如Math.pow(2,3)表示2的3次方=8)
  • 赋值运算符:=
  • 关系运算符:>,<,>=,<=,==,!= instanceof
  • 逻辑运算符:&&(两个为真则为真),||(一个为真则为真),!(非真即假)
  • 位运算符:&,|,^,~,>>,<<,>>>
  • 条件运算符:?:
  • 扩展赋值运算符:+=,-=,*=,/=

&&和&,||和|区别:

& 不管前面的条件是否正确,后面都执行
&& 前面条件正确时,才执行后面,不正确时,就不执行,就效率而言,这个更好
如果&&运算符的第一个操作数是false,就不需要考虑第二个操作数的值了,因为无论第二个操作数的值是什么,其结果都是false。同样,如果第一个操作数是true||运算符就返回true,无需考虑第二个操作数的值。但&|却不是这样,它们总是要计算两个操作数。
A = 0011 1100
B = 0000 1101
A&B = 0000 1100
A|B = 0011 1101
A^B = 0011 0001
~B = 1111 0010
面试题:2*8 = 16
<<左移*2>>右移/2
2<<3--->18
二进制:10左移三位10000

字符串连接符:+

int a = 10;
int b = 20;
a+b=30//数字
""+a+b=1020//字符串
a+b+""=30//字符串

三目运算符:

x?y:z
如果x为true,结果为y,否则为z.

6. 包机制,JavaDoc

包机制
  • 为了更好的组织类,java提供了包机制,用户区别类名的命名空间.
  • 包语句语法格式:package com.kuang;
  • 一般利用公司域名倒置作为包名;www.baidu.com----->com.baidu.www
  • 为了能够使用某一个包的成员,我们需要在java程序中明确导入该包,使用"import"语句可完成此功能

import package1[.package2…].(className|*);

例如import com.kuang.base.Demon01;导入base包下的Demon01这个类

​ import com.kuang.base.*;导入base包下的所有类

JavaDoc

idea生成javadoc文档和命令行生成详细链接:https://blog.csdn.net/qq_43324113/article/details/106389385

  • javadoc命令是用来生成自己的API文档的

  • 参数信息

    • @author作者名
    • @version版本号
    • @since指明需要最早使用的jdk版本
    • @param参数名
    • @return返回值情况
    • @throws异常抛出情况
  • doc命令:javadoc -encoding UTF-8 -charset UTF-8 类名.java

基础部分必须理解完整!!!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值