JAVA SE基础(一)

本文详细介绍了Java编程的基础知识,包括标识符、关键字、数据类型、运算符、变量和常量的使用规则。强调了注释的重要性,以及变量的作用域和命名规范。此外,还讨论了类型转换的细节,运算符的优先级,并提供了代码示例。最后提到了JDK的新特性,如数字之间的下划线分割。内容涵盖了Java初学者应掌握的核心概念。
摘要由CSDN通过智能技术生成

注释

书写注释是一个非常好的习惯

//单行注释//

/ 多行注释 /

/**

*文档注释

*/

标识符

关键字

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

abstractassertbooleanbreakbyte
casecatchcharclassconst
continuedefaultdodoubleelse
enumextendsfinalfinallyfloat
forgotoifimplementsimport
instanceofintinterfacelongnative
newpackageprivateprotectedpublic
returnstrictfpshortstaticsuper
switchsynchronizedthisthrowthrows
thransienttryvoidvolatilewhile

命名规则

  1. 以字母(区分大小写),美元符($)或者下划线(_)开始;
  2. 首字符之后可以是字母(区分大小写),美元符($),下划线(_)或者数字的任何字符组合;
  3. 不能使用关键字作为变量名或方法名;
  4. 标识符是大小写敏感的;
  5. 合法标识符举例:age、$skds、_value、__1_value
  6. 非合法标识符举例:123abc、-salary、#abc
  7. 可以使用中文命名,但不建议,包括拼音。

数据类型

强类型语言

要求变量的使用要严格符合使用规定,所有变量都必须先定义后才能使用。

优点:安全性高 ; 弊端:速度慢。

弱类型语言

eg:VB、JS ;

基本类型

在这里插入图片描述
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-bzIYJXjR-1606154637701)(C:\Users\草莓\Desktop\总\MarkDown日记\images\数据类型用法.png)]

引用类型

字节

  • 位(bit):计算机内部数据存储的最小单位,11001100是一个八位二进制数
  • 字节(byte):计算机中数据处理的基本单位,常用 B 表示
  • 1B=8bit
  • 字符:指计算机中使用的字母、数字、字和符号

拓展(面试题)

整数

int i = 10;
int i2 = 010; //八进制 0
int i3 = 0x10;//十六进制 0x   0~9 A~F 16

浮点数

银行业务怎么表示?(钱)

若用浮点数表示,如图:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Nj51blRh-1606154637705)(C:\Users\草莓\Desktop\总\MarkDown日记\images\浮点数拓展.png)]

问题所在:float 有限 离散 大约 接近但不等于

故:最好完全避免使用浮点数进行比较,可以用 BigDecimal 数学工具类。

字符

强制转换

在这里插入图片描述

因为***所有的字符本质还是数字***

编码 Unicode 0-65536 ASCII表 (a=97 A=65 字母大小写相差32)

//U000  UFFFF
char c = '\u0061';
System.out.println(c); //输出结果为 a

转义字符

意义
\b退格,将当前位置移到前一列
\f换页
\n换行
\r回车,将当前位置移到本行开头
\t水平制表,跳到下一个TAB位置
\ddd1到3位八进制数所代表的任意字符
\uhhhh1到2位十六进制数所代表的任意字符

布尔值

boolean flag = true;
if(flag==true){} //新手的写法
if(flag){} //与上一句相等,因为flag默认为true
//代码要精简易读

类型转换

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

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

运算中,不同类型的数据先转化为同一类型,再进行运算。

强制转换 (类型)变量名 高—>低

**自动转换 ** 低—>高

注意:

  1. 不能对布尔值进行转换
  2. 不能把对象类型转换为不相干的类型
  3. 在把高容量转换为低容量时,强制转换
  4. 转换的时候可能存在内存溢出或者精度问题

JDK新特性:

数字之间可以用下划线分割。

eg: int money = 10_0000_0000 //输出为1000000000

变量

概念

  • 就是可以变化的量!
  • Java是一种强类型语言,每个变量都必须声明其类型
  • Java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域
type varname [=value] [{,varName[=value]}];
//数据类型 变量名 = 值; 可以用逗号隔开来声明多个同类型变量,但不建议!

注意事项:

  • 每个变量都有类型,类型可以是基本类型也可以是引用类型
  • 变量名必须是合法的标识符
  • 变量声明是一条完整的语句,因此每一个声明都必须以分号结束

变量作用域

分为 :类变量,实例变量,局部变量

public class Variable{
    static int allClicks=0;      //类变量
    String str = "hello world";  //实例变量
     
    public void method(){
        int i = 0;              //局部变量
    }
}

局部变量:只在当前{ } 内实现,必须声明和初始化值。

实例变量:从属于对象,如果不自行初始化,会变成这个类型的默认值 0或0.0,

布尔值的默认值是false, 除了基本类型,其余的默认值都是null。

需要先写出类:

//变量类型 变量名 = new Demo();
Demo demo = new Demo(); // 快捷方法:new Demo().var回车

类变量:static,从属于类

常量

初始化后不能再改变值!在运行过程中不会变动的值。

final 常量名 = 值;

final double PI = 3.14; //常量名一般用大写字符

命名规范

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

运算符

运算符表示
算术运算符+,-,*,/,%,++,- -
赋值运算符= (读法 把 x 赋值给 y )
关系运算符< , > , <= , >= , == , != ,instanceof
逻辑运算符&&,||,!(与 或 非)
位运算符&,|,^,~, >>, << ,>>>(了解即可)
条件运算符? :()
扩展赋值运算符+= ,-= ,*= ,/=

算术运算符

 long a = 1241414242433L;
 int b = 123;
 short c = 10;
 byte d = 8;
   System.out.println(a+b+c+d);//Long 只要有long类型结果,就会变成long类型,double类型同理
   System.out.println(b+c+d);//Int  如果没有long类型,接过都为int类型
   System.out.println(c+d);//Int

关系运算符

返回的结果:正确/错误 布尔值

自增自减

自增如下,自减同理

int a = 3;
int b = a++;//执行完这行后,先给b赋值,再自增
//隐藏代码:a = a+1;

//隐藏代码:a = a+1;
int c = ++a;//执行完这行前,先自增,再给c赋值
System.out.println(a); //5
System.out.println(b); //3
System.out.println(c); //5

幂运算

快捷输入:Math.pow(x,y).var 回车

//2^3  2*2*2=8
double pow = Math.pow(2,3);
System.out.println(pow);

逻辑运算符

//与(and)  或(or)  非(取反)
boolean a = true;
boolean b = false;
System.out.println("a && b:"+(a&&b));//false
//逻辑与运算:两个变量都为真,结果才为true
System.out.println("a || b:"+(a||b));//true
//逻辑或运算:两个变量有一个为真,则结果为true
System.out.println("!(a && b):"+!(a&&b));//true
//如果为真,则结果为假,如果为假则为真
//短路运算
int c = 5;
boolean d = (c<4)&&(c++<4);
System.out.println(d);//false
System.out.println(c);//5
//说明逻辑与运算中,当第一个条件为false时,
//会发生短路,便不会执行第二个条件

位运算

​ A = 0011 1100

​ B = 0000 1101

A&B = 0000 1100 //按位与:当AB同位上的值都为1,则为1;

A|B = 0011 1101 //按位或:当AB同位上的值有1时,则为1;

A^B = 0011 0001 //按位异或:当AB同位上的值相同,则为0,反之为1;

~B = 1111 0010 //按位取反:取相反值;


<< 左移:相当于*2

*>>*右移:相当于/2

2^4=16 , 可以输 System.out.println(2<<3);

扩展和条件运算符

扩展运算符:

a+=b 即:a = a+b;

a-=b 即:a = a-b;

条件运算符:

//x ? y : z  如果x==true,则结果为y,否则结果为z
int score = 50;
String type = score <60 ? "不及格" : "及格";
System.out.println(type); //输出为不及格

字符连接符

+ 两侧如果有出现String类型,只要String类型不是出现在最末尾,都会将其余转成String类型并进行链接。

int a = 1;
int b = 2;
System.out.println(""+a+b);//12 字符串在前面,后面进行拼接
System.out.println(a+b+"");//3  字符串在后面,前面进行运算
System.out.println(a+""+b);//12 字符串在中间,进行拼接

优先级

运算符优先级

JavaDoc

在这里插入图片描述

命令行打开:

javadoc 参数 Java文件

在这里插入图片描述

用idea查看javadoc文件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值