二、java基础语法

2.1 注释

注释是为了便于阅读,当代码太多时,就不容易理解了,注释起到一个解释的作用。同时程序在运行时会自动跳过注释。所以也可以将代码注释掉,起到屏蔽代码的作用。
Java中有三种注释,单行注释,多行注释,和文档注释。

单行注释

单行注释使用//,会将//所在行之后的内容注释掉。
例如:(将代码放到main方法中)

		System.out.println(1);
		System.out.println(2);//System.out.println(3);
		//System.out.println(4);	System.out.println(5);
		System.out.println(6);

程序执行结果如下:由于System.out.println(3);前面有//,所以被屏蔽了。
System.out.println(4); System.out.println(5);也是一样。
在这里插入图片描述

多行注释

由于单行注释只能注释单行,如果需要注释一块代码时,需要使用多行注释。
多行注释使用/* */来注释
例如:

/*System.out.println(1);
		System.out.println(2);
		System.out.println(3);
		System.out.println(4);	
		System.out.println(5);*/
		System.out.println(6);

执行结果如下:
在这里插入图片描述

文档注释

文档注释主要是用来生成api文档,可以通过阅读项目生成的api文档,了解项目的一些细节。
文档注释以/**开始,*/结束

2.2 数据类型

java数据类型分为基本数据类型和引用数据类型。引用数据类型将在之后章节讲解。

基本数据类型

基本数据类型分为整数、浮点数、字符和布尔。

整数类型

其中整数又分以下四种,如下。
在这里插入图片描述
当数据超过数据类型所能表示的范围时,里面存储的数据就可能会出错。当然如果直接赋值,如 byte num=128;编译器会直接报错。改成 byte num=(byte)128;编译器不会报错。但数据出错了。
例如:

		byte num=(byte)128;
		System.out.println("数字为:"+num);

执行结果如下:
在这里插入图片描述
可以理解为超过范围的话,会进行取余。
一般整数用int,具体情况具体对待。
Java的整型字面值有四种表示方法。
1)十进制数
2)二进制数,以0b或0B开头
3)八进制数,以0开头
4)十六进制数,以0x或0X开头
例如:

byte num=0B11;
System.out.println("数字为:"+num);

运行结果如下:
在这里插入图片描述

浮点数类型

又称小数类型。有两种浮点类型,分别是float(单精度)和double(双精度)。如下:
在这里插入图片描述
浮点型字面值有两种表示方法。
1)十进制数形式 3.14
2)科学记数法形式 4.5e+3
浮点数运算不是太精确,如果需要精确运算需要使用java.math.BigDecimal类,后面几章会讲。

从Java 7开始,在数值型字面值中可以使用下划线(_)将一些数字进行分组,这可以增强代码的可读性。
下划线可以用在浮点型数和整型数(包括二进制、八进制、十六进制和十进制)的表示中。
例如:

	int num=123_456_789;
	System.out.println("数字为:"+num);

运行结果如下:
在这里插入图片描述

字符类型

字符是程序中可以出现的任何单个符号。
Java使用Unicode为字符编码,Unicode字符集使用两个字节(16位)为字符编码,可表示65 536个字符。
字面值用单引号将字符括起来,大多数可见的字符都可用这种方式表示,如’a’、’@’、‘我’等。
有些特殊字符用转义序列来表示。用反斜杠(\)表示转义,如’\n’表示换行。
转义字符如下:
在这里插入图片描述

布尔类型

布尔型字面值很简单,只有两个值true和false,分别用来表示逻辑真和逻辑假。
布尔型值使用boolean关键字声明。
例如:

boolean bl=false;
System.out.println(bl);

运行结果如下:
在这里插入图片描述

引用数据类型

字符串类型

字符串类型是引用类型。不属于基本类型。
字符串是通过String类实现的。可用String声明和创建一个字符串。可以通过双引号定界符创建一个字符串字面值。
例如:
String s1=“hell”;
String s2="o "+“world”;
System.out.println(s1+s2);

运行结果如下:
在这里插入图片描述
关于字符串更多的内容,将会在之后的章节介绍。

数据类型转换

整型、浮点型、字符型数据可能需要混合运算或相互赋值,这就涉及类型转换的问题。
转换分为:
自动类型转换
强制类型转换

自动类型转换也称加宽转换,它是指将具有较少位数的数据类型转换为具有较多位数的数据类型。
byte b = 120;
int i = b;
可用图表示:
在这里插入图片描述
强制类型转换:将位数较多的数据类型转换为位数较少的数据类型。其语法是用圆括号运算符。例如:将double型数据转换为byte型数据。

    double d = 200.5;
    byte b = (byte)d;
    System.out.println(b);     // 输出-56

200的二进制是 00000000 00000000 00000000 11001000
转换成byte型 只保留低8位 11001000

除了赋值可能发生类型转换外,在含有变量的表达式中也有类型转换的问题。

	byte  a = 40;
    byte  b = 50;
    byte  c = a + b;             // 编译错误
    c = (byte)(a + b);          // 正确
    int i = a + b;    

2.3接收输入数据

常见的控制台应用,需要接收用户输入的数据,就需要使用Scanner类。
Scanner类包含了接收输入数据的方法,可以用这些方法获取用户输入的数据。使用时需要导包,即在类定义前写 import java.util.Scanner;不然会报错例如:

package helloWord;

import java.util.Scanner;

public class HelloWord {

	public static void main(String[] args) {
		System.out.println("请输入一个数字");
		Scanner sc=new Scanner(System.in);
		int num;
		num=sc.nextInt();
		System.out.println("你输入的数字为:"+num);
	}
}

某一次运行结果如下:
在这里插入图片描述
其中56是我输入的数字。

2.4 java运算符

表示各种不同运算的符号称为运算符(operator),参与运算的各种数据称为操作数(operand)。
表达式(expression)是由运算符和操作数按一定语法规则组成的符号序列。
例如:
(2 + 3) * (8 - 5)
a > b
每个表达式经过运算后都会产生一个确定的值。
可按操作数的个数分为一元(一目)运算符,二元运算符,三元运算符。

算术运算符

算数运算符有5个。都是二元
二元运算符:加(+)
减(-)
乘(*)
除(/)
取余数(%)5个
一元运算符:正(+)、负(-)、
自增(++)、自减(–)4个。
其中加减乘除和数学中的加减乘除类似。取余数就是求余或者说取模。比如6%5是1,7%5是2(7/5=1…2)
但java中的算术运算不改变数据类型。例如:

int num=3/2;
System.out.println(num);

运行结果如下:
在这里插入图片描述
因为3和2都是int型的(java中整型默认为int,浮点型默认为double),所以int型的运算结果也是int型1,把int型1赋值给double型,就变成了1.0
要想要结果是1.5,更改如下:

double num=3/(double)2;
System.out.println(num);

运行结果如下:
在这里插入图片描述
自增,自减有两种。
运行如下代码:

		int num=5;
		System.out.println(++num);
		System.out.println(num);
		System.out.println(num++);
		System.out.println(num);

运行结果如下:
在这里插入图片描述
++num会先执行加一,然后再执行其他操作(输出),
num++则是先进行操作(输出)。然后再加一。

赋值运算符

赋值运算符(assignment operator)用来为变量指定新值。
赋值运算符主要有两类,
简单赋值运算符:使用等号(=)
复合赋值运算符:+=,-=,*=,/=,%=
其中num+=5可以理解为num=num+5,其他几个类似。
例如:

		double num=5;
		//num+=num*=0.2;
		num+=2;
		System.out.println("加2之后的值为"+num);

运行结果如下:
在这里插入图片描述

关系运算符

关系运算符(也称比较运算符)用来比较两个值的大小或是否相等。可构成关系表达式,结果为true或false。
具体如下:
在这里插入图片描述

逻辑运算符

逻辑运算符包括以下几种:
!非
& 与
| 或
^ 异或
&& 与(短路)
|| 或(短路)
以下是运算结果:
在这里插入图片描述

位运算符

位运算在整数的二进制位上操作,有两类:
位逻辑运算(bitwise)
移位运算(shift)

整数是用二进制补码表示的,int型值用4个字节32位二进制表示。
 42的原码为
   00000000 00000000 00000000 00101010
 +42的补码为
   00000000 00000000 00000000 00101010
 -42的补码为
   11111111 11111111 11111111 11010110
   其中最高位为符号位,0正1负。
共有4个位逻辑运算符:
按位取反
& 按位与
| 按位或
^ 按位异或
位逻辑运算是对一个整数的二进制位进行运算。
在这里插入图片描述

共有3个移位运算符:
<< 左移运算符
>> 右移运算符
>>> 无符号右移运算符

运算符优先级

以下为运算符优先级表:

运算符结合性

结合性是指对某个运算符构成的表达式,计算时如果先取运算符左边的操作数,后取运算符,则该运算符是左结合的,若先取运算符右侧的操作数,后取运算符,则是右结合的。
所有的二元运算符(如+、<<等)都是左结合的,而赋值运算符(=、+=等)是右结合的。

2.5关键字和标识符

关键字

Java关键字是电脑语言里事先定义的,有特别意义的标识符,有时又叫保留字,还有特别意义的变量。Java的关键字对Java的编译器有特殊的意义,他们用来表示一种数据类型,或者表示程序的结构等,关键字不能用作变量名、方法名、类名、包名和参数。
列表如下:
在这里插入图片描述

标识符

标识符(identifier)用来为变量、方法和类进行命名。
命名规则: 以字母、下划线(_)或美元符($)开头,其后可以是字母、下划线、美元符或数字,长度没有限制。
合法标识符: intTest, Manager_Name, _var, $Var

多单词的标识符有两种命名方法:
PascalCase,每个单词的首字母大写。类、接口用该方法命名
camelCase,第一个单词的首字母小写,变量和方法用该方法命名。

标识符是区分大小写的,下面两个标识符是不同的。
myName , MyName

不推荐使用无意义的单个字母命名标识符,应该使用有意义的单词或单词组合为对象命名。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值