Java基础–基本语法

1.注释

  1. 单行注释

    //单行注释
    
  2. 多行注释

    /*
    多行注释
    */
    
  3. 文档注释

    /**
     * 文档注释
     * 
     * 
     */
    

2.标识符和关键字

2.1标识符

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

  1. 所有的标识符都应该以字母(A-Z或者 a-z),美元符($)、或者下划线()开始首字符之后可以是字母(A-Z 或者 a-z),美元符($)、下划线()或数字的任何字符组合
  2. **不能使用关键字作为变量名或方法名**
  3. **标识符是大小写敏感的**
  4. 合法标识符举例:age、$salary、_value、 1 value
  5. 非法标识符举例:123abc、-salary、#abc
  6. 可以使用中文命名,但但是一般不建议这样去使用,也也不建议使用拼音,很Low

2.2关键字

1)48个关键字:abstract、assert、boolean、break、byte、case、catch、char、class、continue、default、do、double、else、enum、extends、final、finally、float、for、if、implements、import、int、interface、instanceof、long、native、new、package、private、protected、public、return、short、static、strictfp、super、switch、synchronized、this、throw、throws、transient、try、void、volatile、while。

2)2个保留字(现在没用以后可能用到作为关键字):goto、const。

3)3个特殊直接量:true、false、null。

3.数据类型

强类型语言:要求变量的使用要严格符合规定,所有变量都必须先定义后使用

弱类型语言

Java的数据类型分为两大类

基本类型(primitive type)

  • 6种数字类型
    • 4种整数型:byte、short、int、long
    • 2种浮点型:float、double
  • 1种字符类型:char
  • 1种布尔型:boolean
基本类型存储大小初始化默认值取值范围包装类型
byte1字节(8位)0-128~127Byte
short2字节(16位)0-32768~32767Short
int4字节(32位)0-2^31 ~ 2^31 - 1Integer
long8字节(64位)0L。"L"理论上不分大小写,但若写成"l"容易与数字"1"混淆,不容易分辨,所以最好大写。-2^63 ~ 2^63 - 1Long
float4字节(32位)0.0f符合IEEE754标准的浮点数,1.4E-45 ~ 3.4028235E38Float
double8字节(64位)0.0d符合IEEE754标准的浮点数,4.9E-324 ~ 1.7976931348623157E308Double
char2字节(16位)‘\u0000’\u0000 ~ \uffff(十进制等效值为 0~65535,本质也是数值)Character
boolean1字节(8位)/4字节(32位)falsetrue/falseBoolean
     //八大基本数据类型

     //整数
     int num1=10;
     byte num2=20;
     short num3=30;
     long num4=50L;//long类型要在后面加L

     //小数:浮点型
     float num5=50.1F;//float类型要在后面加F
     double num6=3.1415926;

     //字符类型
     char A ='a';

     //String类型
     String B="fx";

     //boolean布尔类型
     boolean C=true;

引用类型(reference type)

  • 接口(interface)、数组([ ])、类(class)

什么是字节

  1. 位(bit):计算机内部数据存储的最小单位
  2. 字节(byte):计算机中数据处理的基本单位,习惯用大写B来表示
  3. 1B=8bit
  4. 字符:计算机中使用的字母、数字、字和符号

4.数据类型扩展及面试题

进制

二进制0b 十进制 八进制0 十六进制 0x

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

用BigDecimal来表示 数学工具类

字符拓展

强制转换===所有字符本质还是数字

编码 Unicode表:(97=a 65=A) 2字节 65536

转义字符

\n	换行
\r	表示回车符,将光标定位到当前行的开头,不会跳转到下一行
\t	表示制表符,将光标移到下一个制表符的位置,相当于Tab键
\b  表示退格符号,就像键盘上的Backspace键    
\’	表示单引号字符
\"	表示双引号字符
\\	表示反斜杠字符

布尔值扩展

boolean flag=true;
if(flag){
 ...
}

5.类型转换

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

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

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

强制类型转换:高—>低

自动类型转换:低—>高

  1. **不能对布尔值转换**

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

  3. **把高容量转为低容量时为强制转换**

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

6.变量、常量、作用域

什么是变量?

变量:可以变化的量。

Java是一种强类型语言,每个变量都必须声明其类型。

Java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域

type varName [=value] [{,varName[=value]}];
//数据类型  变量名 = 值;可以用逗号隔开来声明多个类型变量
//不建议在一行声明多个变量

注意事项:

  1. 每个变量都有类型,类型可以是基本类型,也可以是引用类型
  2. 变量名必须是合法的标识符
  3. 变量声明是一条完整的语句,因此每一个声明都必须以分号结束
实例变量:从属于对象,如果不进行初始化,这个类型的默认值0  0.0,会随着类一起产生一起消失
布尔值:默认为false
除了基本类型,其余的默认值都是null

final是常量修饰符,只能赋值一次,不存在先后顺序

7.基本运算符

  1. 算术运算符
操作符描述例子
+加法 - 相加运算符两侧的值A + B 等于 30
-减法 - 左操作数减去右操作数A – B 等于 -10
*乘法 - 相乘操作符两侧的值A * B等于200
/除法 - 左操作数除以右操作数B / A等于2
取余 - 左操作数除以右操作数的余数B%A等于0
++自增: 操作数的值增加1B++ 或 ++B 等于 21(区别详见下文)
自减: 操作数的值减少1B-- 或 --B 等于 19(区别详见下文)
  2. 关系运算符
运算符描述例子
==检查如果两个操作数的值是否相等,如果相等则条件为真。(A == B)为假。
!=检查如果两个操作数的值是否相等,如果值不相等则条件为真。(A != B) 为真。
>检查左操作数的值是否大于右操作数的值,如果是那么条件为真。(A> B)为假。
<检查左操作数的值是否小于右操作数的值,如果是那么条件为真。(A <B)为真。
>=检查左操作数的值是否大于或等于右操作数的值,如果是那么条件为真。(A> = B)为假。
<=检查左操作数的值是否小于或等于右操作数的值,如果是那么条件为真。(A <= B)为真。
  3. 位运算符
操作符描述例子
如果相对应位都是1,则结果为1,否则为0(A&B),得到12,即0000 1100
|如果相对应位都是 0,则结果为 0,否则为 1(A | B)得到61,即 0011 1101
^如果相对应位值相同,则结果为0,否则为1(A ^ B)得到49,即 0011 0001
按位取反运算符翻转操作数的每一位,即0变成1,1变成0。(〜A)得到-61,即1100 0011
<<按位左移运算符。左操作数按位左移右操作数指定的位数。A << 2得到240,即 1111 0000
>>按位右移运算符。左操作数按位右移右操作数指定的位数。A >> 2得到15即 1111
>>>按位右移补零操作符。左操作数的值按右操作数指定的位数右移,移动得到的空位以零填充。A>>>2得到15即0000 1111
  4. 逻辑运算符
操作符描述例子
&&称为逻辑与运算符。当且仅当两个操作数都为真,条件才为真。(A && B)为假。
| |称为逻辑或操作符。如果任何两个操作数任何一个为真,条件为真。(A | | B)为真。
称为逻辑非运算符。用来反转操作数的逻辑状态。如果条件为true,则逻辑非运算符将得到false。!(A && B)为真。
  5. 赋值运算符
操作符描述例子
=简单的赋值运算符,将右操作数的值赋给左侧操作数C = A + B将把A + B得到的值赋给C
+ =加和赋值操作符,它把左操作数和右操作数相加赋值给左操作数C + = A等价于C = C + A
- =减和赋值操作符,它把左操作数和右操作数相减赋值给左操作数C - = A等价于C = C - A
* =乘和赋值操作符,它把左操作数和右操作数相乘赋值给左操作数C * = A等价于C = C * A
/ =除和赋值操作符,它把左操作数和右操作数相除赋值给左操作数C / = A,C 与 A 同类型时等价于 C = C / A
(%)=取模和赋值操作符,它把左操作数和右操作数取模后赋值给左操作数C%= A等价于C = C%A
<< =左移位赋值运算符C << = 2等价于C = C << 2
>> =右移位赋值运算符C >> = 2等价于C = C >> 2
&=按位与赋值运算符C&= 2等价于C = C&2
^ =按位异或赋值操作符C ^ = 2等价于C = C ^ 2
| =按位或赋值操作符C | = 2等价于C = C | 2
  1. 条件运算符

    条件运算符也被称为三元运算符。该运算符有3个操作数,并且需要判断布尔表达式的值。该运算符的主要是决定哪个值应该赋值给变量。
    
    variable x = (expression) ? value if true : value if false
    
  2. instanceof运算符

该运算符用于操作对象实例,检查该对象是否是一个特定类型(类类型或接口类型)
String name = "James";
boolean result = name instanceof String; // 由于 name 是 String 类型,所以返回真

运算符优先级

类别操作符关联性
后缀() [] . (点操作符)左到右
一元expr++ expr–从左到右
一元++expr --expr + - ~ !从右到左
乘性* /%左到右
加性+ -左到右
移位>> >>> <<左到右
关系> >= < <=左到右
相等== !=左到右
按位与左到右
按位异或^左到右
按位或|左到右
逻辑与&&左到右
逻辑或| |左到右
条件?:从右到左
赋值= + = - = * = / =%= >> = << =&= ^ = | =从右到左
逗号左到右

8.包机制

为了更好的组织类,Java提供了包机制,用于区别类名的命名空间。

包语句的语法格式:

package pkg1[. pkg2[. pkg3...]];

为了能够使用某一个包的成员,需要在Java程序中明确导入该包,使用import语句。

import package1[.package2...].(classname|*);
//*是通配符,可以导入这个包的所有东西

9.Java Doc生成文档

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

参数信息

​ @author 作者名

​ @version 版本号

​ @since 指明需要最早使用的jdk版本

​ @param 参数名

​ @return 返回值情况

​ @throws 异常抛出情况

√学习:使用IDEA生产JavaDoc文档

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值