Java基础语法小结


最近学了一些Java的基础语法,学过一些C的朋友应该会感觉二者有不少相通的地方,理解起来并不困难。我根据自己的掌握程度做个小总结

1. 注释

分为 单行注释,多行注释和文档注释。
单行://
多行:/*  */
文档注释还没具体学,日后补充

2. 关键字

特点:
1.Java中共有五十多个关键字;
2.关键字由小写英文字母组成;
3.在编译器中会有特殊的颜色标记。

3. 常量

常量分类:

常用类型说明举例
字符串常量双引号括起来的内容“HelloWorld”、“我爱编程”
字符常量单引号括起来的内容‘A’、‘好’、‘0’
整数常量不带小数点的数字666、-123
小数常量带小数的数字-13.14 、5.21
布尔常量布尔值,表示真假只有两个值:truefalse
空常量一个特殊的值,空值值是:null

注意:上述常量类型中,空常量是不可以直接打印的。

4.数据类型

数据类型关键字(内存占用)取值范围
整数byte(1)、short(2)、int(4)、long(8)byte:-128~127 short:-32768~3276… int: - 231~ 231-1 … long:-263~ 263-1
浮点float(4)、double(8)float:【负数】-3.402823E+38 到 -1.401298E-45 【正数】1.401298E-45 到 3.402823E+38…double:【负数】-1.797693E+308到 -49000000E-324 【正数】49000000E-324 到 1.797693E+308
字符char(2)0~65535
布尔boolean(1)true false

说明一下: E+38表示乘以10的38次方 ,同理,E-45表示乘以10的负45次方

5.变量

  • 变量名不能重复;

  • 变量赋值后才能使用;

  • 因为编译器会把整数默认为int型,浮点型默认为double型 , 所以
    对于 long类型数据,定义时要在末尾加 L,否则会出现 “数据过大” 的报错,
    对于float类型数据,定义时要在末尾加上 F,否则会出现 “不兼容类型” 的报错。

6.标识符

  • 定义 :给 类,方法,变量起名字的符号
  • 规则:(图片源自黑马程序员Java网课)在这里插入图片描述

7.类型转换

  • 分类:自动类型转换 和 强制类型转换

    1. 自动类型转换: 把一个数据表示范围小的数值或者变量赋 值给另一个数据表示范围大的变量 。
    2. 强制……:恰好相反。
  • 格式:目标数据类型 变量名 = (目标数据类型) 值或变量
    例子: (int)k = (int)66.66
    输出结果: 66
    注意:强制类型转换可能会导致数据损失。
    数据范围从小到大图

8.运算符

(1)算术运算符

(基本的小学生运算咱就不说了)
1. 字符和数字之间也可以进行’+'操作。拿字符在计算机底层对应的数值计算的(ASCII码)。
2. 算术表达式中包含多个基本数据类型的值的时候,整个算数表达式的类型会自动进行提升。提升规则

  • byte类型,short类型和char类型将被提升到int类型。
  • 整个表达式的类型自动提升到最高等级操作数同样的类型;等级顺序:
  • byte,short,char >>> int >>> long >>> float >>>double
  1. 字符串的’+'操作:从左到右执行操作。
    下面是一些例子:
    在这里插入图片描述
    在这里插入图片描述

(2)赋值运算符

  1. 包括:=、+=、-=、*=、/=、%=
  2. 我们知道 += 的意思就是将等号左边的值与右边的相加再赋值给右边。但在这里要注意的是 s += 10 底层是隐含了强制类型转换的操作,不等同于 s = s + 10
  3. 还是举个例子更好理解 😃
	public static void main(String[] args){
		short s = 10;
		s += 10;
		short t = 10;
		t = (short)(t + 10);//强转
		System.out.println("s:"+s);
		System.out.println("t:"+t);
	}
}

在上面的代码中,定义了两个short类型变量,与int类型的数据做加法,其中一个运用了“+=”运算符,另一个直接相加,但加了强转。

最后,二者的结果都是 20。
欸?那有朋友问了,我不强转会咋样? 我试了,会报下图所示的错 (所以一般还是用+=吧,也省得出问题)报错

(3)自增 自减 运算符

自增(每次增加1): ++
自减(每次减小1): - -

(4)关系运算符

  1. < , <= , >, >= , ==(等于) , !=(不等于)
  2. 关系运算符的结果都是布尔值。
  3. 优先级高于赋值运算符,低于算术运算符。

(5)逻辑运算符

  1. 定义:用于连接关系表达式的运算符,当然,也可以直接连接布尔类型的常量或者变量。
  2. 逻辑运算符还包括短路逻辑运算符。
    在这里插入图片描述在这里插入图片描述
    短路?!有没有人和我一样觉得奇怪,又不是电路,怎么短路呢?(哈哈哈)
    大家和我一起看看代码,理解上图的注意事项吧
    关于&的代码以及运行结果
public class practice {
	public static void main(Strings[] args){
		int i=10;
		int j=10;
		System.out.println((i++ > 100)&(j++ > 100));//flase & false == false
		System.out.println("i = "+i);
		Syetem.out.println("j = "+j);
	}
}

在这里插入图片描述
看着挺好的,布尔值是false没错,i 和 j 也都实现了自增。

关于&&的代码和运行结果

public class practice{
	public static void main(String[] args){
		int i = 10;
		int j = 10;
		System.out.println((i++ > 100)&&(j++ > 100) );
        //false && false
		System.out.println("i = "+i);
		System.out.println("j = "+j);
	}
}

留神看区别噢
在这里插入图片描述
布尔值没有改变,还是false,但是,j 却没有像使用‘&’时那样自增1了!! 这就是短路效果了,对于&&,当左边为假,右边便不执行了。&&懂得“偷懒”,既然左右同真才为真,那左边为假了,右边不执行也罢。

(6)三元运算符

​ 格式:关系表达式 ?表达式1 :表达式2 ;

​ 范例:a > b ? a : b;
如果关系表达式为真 结果就是第一个值(本例:a),为假,结果时第二个值(本例:b)

这篇笔记都是一些基础知识,但还是码了好久 😦 欢迎大家指教,一起进步。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值