Java-基础语法2020年


前言

程序的基本组成:

  • 注释(非必须)
  • 关键字
  • 标识符
  • 数据
  • 符号

一、注释

注释是对程序的解释说明文字,可以提高程序的可读性。所以在程序中添加注释十分重要。
Java中注释的分类:

  • 单行注释:从//开始至本行结尾的文字将作为注释文字。
  • 多行注释:使用/* 和*/将一段较长的注释括起来。
  • 文档注释:以/**开始,以 */结束。

二、关键字

关键字是指被Java语言赋予了特殊含义的单词。
关键字的特点:

  • 关键字的字母全部小写
  • 常用的代码编辑器对关键字都有高亮显示,以我们的HelloWorld案例为例:
public class HelloWorld {
   public static void main(String[] args){
   	System.out.print("Hello World!")}
}

呈现紫色的单词均为我们Java中的关键字,如:public、class、static、void。

三、标识符

标识符是用户变成时使用的名字,用于给类、方法、变量、常量等命名。

Java中标识符的组成规则:

  • 由字母、数字、下划线 _ 、美元符号$组成,且第一个字符不能是数字。
  • 不能使用Java中的关键字作为标识符。
  • 标识符对大小写敏感(区分大小写)。
    以我们的HelloWorld案例为例:
public class HelloWorld {
	public static void main(String[] args){
		System.out.print("Hello World!")}
}

其中HelloWorld、main、String、args、System、out、print均为我们的标识符。


Java中标识符的命名约定:

  • 小驼峰式命名:变量名方法名
    首字母小写,从第二个单词开始每个单词的首字母大写。
  • 大驼峰式命名:类名
    每个单词的首字母都大写。
  • 标识符的命名最好可以做到见名知意。

四、数据

在Java中,将数据分为常量和变量。

1.常量

常量:在程序运行过程中,其值不可以发生改变的量。
Java中常量的分类:

常量名称说明举例
字符串常量用双引号括起来的内容“Hello World!”
整数常量不带小数的数字666
小数常量带小数的数字3.14
字符常量用单引号括起来的内容‘我’
布尔常量布尔值,表示真假,只有两个值true,false
空常量一个特殊的值,空值null

注意:除空常量外,其他常量均可使用输出语句直接输出。

2.变量

变量:在程序运行过程中,其值可以发生改变的量。

    从本质上讲,变量是内存中的一小块区域,其值可以再一定范围内变化。

  • 变量的定义格式:
        数据类型 变量名 = 初始化值;
    比如:
int age = 18;

变量的定义格式也可以是先声明后赋值:
    数据类型 变量名;
    变量名 = 初始化值;
例如:

int age;
age = 10;

还可以在同一行定义多个同一种数据类型的变量,中间使用逗号隔开。
例如:

int a = 10, b = 20;

(1)数据类型

Java是一个强类型语言,Java中的数据必须明确数据类型。
Java中的数据类型包括基本数据类型和引用数据类型两种。
Java中的基本数据类型:

数据类型关键字内存占用取值范围
整数byte1-128~127
short2-32768~32767
int(默认)4-2的21次方到2的31次方-1
long8-2的63次方到2的63次方-1
浮点数float4负数:-3.402823E+38到-1.401298E-45
正数:1.401298E-45到3.402823E+38
double(默认)8负数:-1.797693E+308到-4.9000000E-324
正数:4.9000000E-324到1.797693E+308
字符char20~65535
布尔boolean1true、false
说明:E+38表示是乘以10的38次方,同样,E-45表示乘以10的负45次方。

引用数据类型:(暂不做详细介绍)


  • 变量的使用:通过变量名访问即可。
  • 变量的注意事项:
  1. 同一范围内 不能定义相同名字的变量
  2. 变量使用之前必须先赋值
  3. 变量只在当前{}内有效
  4. long类型的变量 数据后面要加L,float类型数据后面要加F

五、符号

1.基本符号

以HelloWorld为例来介绍基本符号

public class HelloWorld {
   public static void main(String[] args){
   	System.out.print("Hello World!")}
}

空格:每个单词之间必须用空格隔开。
{ } :表示范围,里面可以写多条语句,且可以继续写{}。
( ) :强制类型转换、运算中如果有()先算()内的表达式、结构语句、方法的定义和调用
[ ] :数组
" " :字符串
’ ’ :字符
. :小数点,表示调用的过程。

2.运算符号

(1)算术运算符

运算符:对常量或者变量进行操作的符号。
表达式:用运算符把常量或者变量连接起来符合Java语法的式子就可以称为表达式。
    不同运算符连接的表达式体现的是不同类型的表达式。
举例:

int a = 10;
int b = 20;
int c = a + b;
 + :是运算符,并且是算术运算符。
 a + b :是表达式,由于+是算术运算符,所以这个表达式叫算术表达式。
符号作用
+
-
*
/
%取余

(2)赋值运算符

符号作用说明
=赋值a=10,将10赋值给变量a
+=加后赋值a+=b,将a+b的值给a
-=减后赋值a-=b,将a-b的值给a
*=乘后赋值a*=b,将a×b的值给a
/=除后赋值a/=b,将a÷b的商给a
%=取余后赋值a%=b,将a÷b的余数给a

注意:扩展的赋值运算符隐含了强制类型转换

(3)自增自减运算符

符号作用说明
++自增变量的值加1
- -自减变量的值减1

注意:

  • ++和- -既可以放在变量的后边,也可以放在变量的前边。
  • 单独使用的时候,++和–无论是放在变量的前边还是后边,结果是一样的。
  • 参与操作的时候,如果放在变量的后边,先拿变量参与操作,后拿变量做++或者- -。
    参与操作的时候,如果放在变量的前边,先拿变量做++或者–,后拿变量参与操作。

(4)关系运算符

符号作用
==a==b,判断a和b的值是否相等,成立为true,不成立为false
!=a!=b,判断a和b的值是否不相等,成立为true,不成立为false
>a>b,判断a是否大于b,成立为true,不成立为false
>=a>=b,判断a是否大于等于b,成立为true,不成立为false
<a<b,判断a是否小于b,成立为true,不成立为false
<=a<=b,判断a是否小于等于b,成立为true,不成立为false

注意事项:
关系运算符的结果都是boolean类型,要么是true,要么是false。
千万不要把“==”误写成“=”。

(5)逻辑运算符

符号作用说明
&逻辑与a&b,a和b都是true,结果为true,否则为false
逻辑或a丨b,a和b都是false,结果为false,否则为true
^逻辑异或a^b,a和b结果不同为true,相同为false
!逻辑非!a,结果和a的结果正好相反
&&短路与作用和&相同,但是有短路效果
丨丨短路或作用和丨相同,但是有短路效果

注意:

  • 逻辑与&,无论左边真假,右边都要执行。
    短路与&&,如果左边为真,右边执行;如果左边为假,右边不执行。
  • 逻辑或|,无论左边真假,右边都要执行。
    短路或||,如果左边为假,右边执行;如果左边为真,右边不执行。

(6)三元运算符

格式:关系表达式 ? 表达式1 : 表达式2;
范例:a > b ? a : b;
计算规则:
    首先计算关系表达式的值
        如果值为true,表达式1的值就是运算结果
        如果值为false,表达式2的值就是运算结果

(7)位运算符

位运算符指的是二进制的运算,先将十进制数转成二进制后再进行运算。
在二进制运算中,1表示ture,0表示false。

符号计算方式
&遇到0(false)则0(false),两边同时为1(true),结果才是1(true)
遇到1(true)则1(true),两边都是0(false),结果才是0(false)
^相同为false,不同为true
~取反,二进制位全部取反,0变1,1变0,包括符号位
<<有符号左移运算,左边符号位丢弃,右边补齐0
>>右符号右移运算,根据符号位,补齐左边
>>>无符号右移,无论左符号位是0还是1,都补0
  • & 与运算

              36 --00100100
      		& 40 --00101000
      		---------------
      			   00100000  //32
    
      		规律
      		  36  --00100100
      		&-128 --11111111
      		---------------
      			   00100100  //36
      		
      		  36  --00100100
      		&  0  --00000000
      		---------------
      			    00000000  //0
    
  • | 或运算

              36 --00100100
      		| 40 --00101000 //40-36=4
      		---------------
      			   00101100  //40+4=44
      			   
      		规律
      		  36  --00100100
      		| 127 --01111111
      		---------------
      			    01111111  //127
      		
      		  36  --00100100
      		|  0  --00000000
      		---------------
      			    00000000  //36
    
  • ^ 异或运算

              36 --00100100
      		^ 0  --00000000
      		---------------
      			   00100100 //36  一个数对0进行异或运算 还是自身
      		
      		  40 --00101000
      		^ 40 --00101000
      		---------------
      			   00000000 //0  一个数对自己去异或的话  就是0
      		
    
      		5^10^10 =5^(10^10) = 5^0 = 5;
    
      		5+10+10 = 25
    
  • ~取反运算

              ~36 --00100100
      		----------------
      			    11011011 //-91
    
  • << 左移

                 100 <<2
    
      				00000000 00000000 00000000 01100100
      			  __00000000 00000000 00000001 10010000      400 =100*4
    
    
      			-100 << 2
      				10000000 00000000 00000000 01100100  这是-100的原码
      				11111111 11111111 11111111 10011011  反码
      				11111111 11111111 11111111 10011100  补码   从此处进行位运算
      			  __11111111 11111111 11111110 01110000  补码
      			  __11111111 11111111 11111110 01101111  反码
      			  __10000000 00000000 00000001 10010000  原码   -400   = -100 *4
    
  • >>有符号右移

                 100 >>2
    
      				00000000 00000000 00000000 01100100
      				00000000 00000000 00000000 00011001__   25 =  100/4
    
      			-100 >> 2
      				0000000 00000000 00000000 01100100  这是-100的原码
      				11111111 11111111 11111111 10011011  反码
      				11111111 11111111 11111111 10011100  补码   从此处进行位运算
      				11111111 11111111 11111111 11100111__ 补码
      				11111111 11111111 11111111 11100110__ 反码
      				10000000 00000000 00000000 00011001__ 原码  -25 = -100/4
    
  • >>> 无符号右移

                 100 >>>2
    
      				00000000 00000000 00000000 01100100
      				00000000 00000000 00000000 00011001__   25 =  100/4
    
      			-100 >>> 2	
      				0000000 00000000 00000000 01100100  这是-100的原码
      				11111111 11111111 11111111 10011011  反码
      				11111111 11111111 11111111 10011100  补码   从此处进行位运算
      				00111111 11111111 11111111 11100111__  正数 不区分原反补
    

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

浮华′

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值