JavaSE第二章 基本语法

2 基本语法

2.1 IDE的介绍和安装使用

IDE 软件开发环境

包括 编辑器,编译器,调试器.

  • idea
  • eclipse IBM 捐献给eclipse基金会

2.2 注释

2.2.1 单行注释

单行注释是双斜杠 //

 public static void main(String[] args) {
        //输出
        System.out.println("hello world"); //输出HelloWorld
    }

2.2.2 多行注释

多行注释是 /* */

public static void main(String[] args) {
        //输出
        /*
        System.out.println("hello world"); 
        System.out.println("hello world");
        System.out.println("hello world");
        System.out.println("hello world");
        System.out.println("hello world");
        System.out.println("hello world");
        */
        System.out.println("hello world");
    }

2.2.3 文档注释

对类,属性,方法的功能进行说明, 并且在调用时会提示

    /**
     * 求KMP算法的临时数组next[]
     * @param pattern 模式串
     * @return next
     */
    public static int[] computeTemporaryArray(char pattern[]){
        int[] next = new int[pattern.length];
        int j = 0;
        for (int i = 1; i < next.length;) {
            if (pattern[i] == pattern[j]){
                next[i] = j+1;
                i++;
                j++;
            }else {
                if(j != 0){
                    j = next[j-1];
                }else {
                    next[i] = 0;
                    i++;
                }
            }
        }
        return next;
    }


2.3 关键字

2.3.1 对数据类型进行定义的关键字

关键字
class定义类
interface定义接口
enum
byte定义字节类型
short定义短整形
long定义长整形
int定义整形
float定义单精度浮点型
double定义双精度浮点型
char定义字符型
boolean定义布尔型
void无返回值

2.3.2 定义数据类型值的关键字

关键字
true
false
null

2.3.3 定义流程控制的关键字

关键字
if
else
dafault
switch
case
while
dowhile
for
break终止循环
continue跳过某次循环
return

2.3.4 定义访问权限修饰符的关键字

关键字
private私有权限
public公有权限
protected保护权限

2.3.5 定义类,函数,属性修饰符的关键字

关键字
static静态
final最终,不可修改
abstract抽象类
synchronized异步

2.3.6 定义类与类之间关系的关键字

关键字
extends继承
implements实现

2.3.7 建立实例引用和判断实例的关键字

关键字
new创建对象
this表示当前对象
super父类
instanceof

2.3.8 异常处理的关键字

关键字
try
catch
finally
throw
throws

2.3.9用于包的关键字

关键字
package
import

2.3.10 其他关键字

关键字
native
strictfp
transient
volatile
assert

2.4 保留字

2.4.1 goto
2.4.2const

2.5 标识符

就是类,属性,方法的命名的字符序列.

规则:

  1. 字母 数字 下划线和$
  2. 不能以数字开头
  3. 不能使用关键字命名
  4. 严格区分大小写, 不能包含空格

包名:小写

类名,接口名:大驼峰

属性,方法:小驼峰

常量名:大写并且用下划线连接

2.6 变量

变量就是数据的存储空间

内存中的一块区域,可以通过变量名来访问这片区域

变量包括变量类型和变量名

声明变量的语法

[修饰符]  变量类型  变量名;

2.7 数据类型

java是一种强语言, 对每一种数据都定义了明确具体的数据类型, 对不同的数据类型预先在内存中分配不同大小的空间.

2.7.1 基本数据类型

整型
byte
short
long
int

整形还可以表示其他类型的数据

二进制:0B或0b。

八进制:0

十六进制:0X或0x。

类 型占用存储空间(字节)表数范围注意
byte1字节-128 ~ 127
short2字节-215 ~ 215-1
int4字节-231 ~ 231-1
long8字节-263 ~ 263-1long类型使用是需要声明,在数值的后面加L。
浮点型
类型占用空间(字节)注意
float4由于在计算机中计算方式不同,4字节的浮点数大于4字节和8字节的整数类型。
double8
为什么10.5-10.4 != 0.1 ?

计算机中浮点型的存储是以取近似值进行存储

如果是32位单精度的浮点数,按照IEEE-754标准格式,那么可以按以下步骤来完成:

1.先对其进行规格化,即10.5=21/2=10101*2-1 =1.0101*23.

2.计算偏值指数,指数E=3+127=130=10000010 .

3.符号位,由于为正数,所以此位是0 .

4.综上所得,10.5的浮点数表示为0 100000010 01010000000000000000000.

逻辑型
boolean

值只有true和false

字符型
char
  • 占用2个字节的存储空间, 用来存储字符.
  • char 也可以参与数值运算. char c = ‘a’+1; 先将’a’转换为int,计算结果98,对应字符b.
ASCLL码,UNICODE:

“a” 97

‘A’ 65

中国:

GKB

GB2312

2.7.2 引用数据类型

本质就是用另一个类作为声明变量的类型.

除了上述的8种基本数据类型之外,都是引用数据类型. 用类来作为类型的都是引用数据类型.

接口
数组

2.7.3 数据类型的转换

默认转换

容量小的类型转换成容量大的类型

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

强制类型转换

容量大的类型转换成容量小的类型

(目的类型) 变量
影响

溢出

精度降低

2.8 运算符

2.8.1 算术运算符

运算符含义
+
-
*
/
%取余
++递增
– –递减

2.8.2 比较运算符

运算符含义
<
>
<=
>=
==
!=

2.8.3 逻辑运算符

运算符含义
&
|
!
&&短路与
||短路或

2.8.4 赋值运算符

运算符含义
=
+=(隐式转换)a = a + 1; 相当于 a+=1;
-=
*=
/=

2.8.5 条件运算符

运算符含义
?
:

三元运算: (b>c)?b:c

2.8.6 位运算

运算符含义
<<左移
>>右移 右1补1 右0补0
>>>右移 都补0
&与运算
|或运算
^异或
~正数取反,各二进制码按补码各位取反
负数取反,各二进制码按补码各位取反

2.9 控制台输入

Scanner
		//创建对象
        Scanner scanner = new Scanner(System.in);
        
        scanner.next();//返回一个字符串
        scanner.nextInt();//把字符串转换成 int
        scanner.nextDouble();
        scanner.hasNext(); //是否还有下一个输入的字符串
		//...............................
BufferedReader
	BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
        bf.readLine()//读一行
        bf.read() //转换成int

2.10 流程控制

2.10.1 条件语句
if - elseif - else
BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
        int month = Integer.parseInt(bf.readLine());
        if (month <= 8) {
            if (month > 5) {
                System.out.println("夏季");
            }else{
                if (month >2){
                    System.out.println("春季");
                }else {
                    System.out.println("冬季");
                }
            }
        }else {
            if (month <= 11){
                System.out.println("秋季");
            }else {
                System.out.println("冬季");
            }
        }
switch
// 
BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
        int day = Integer.parseInt(bf.readLine());
        switch (day){
            case 1:
                System.out.println("周一   工作日" );
                break;
            case 2:
                System.out.println("周二   工作日" );
                break;
            case 3:
                System.out.println("周三   工作日" );
                break;
            case 4:
                System.out.println("周四   工作日" );
                break;
            case 5:
                System.out.println("周五   工作日" );
                break;
            case 6:
                System.out.println("周六   周末" );
                break;
            case 7:
                System.out.println("周天   周末" );
                break;
            default:
                System.out.println("输入出错" );
        }
2.10.2 循环语句
for
 		for (int i = 0; i < 10; i++) {
            System.out.println("i = " + i);
        }

        int i = 0;
        for (; i < 10; i++) {
            System.out.println("i = " + i);
        }

        int i = 0;
        for (; i < 10 ; ) {
            System.out.println("i = " + i);
            i++;
        }
		
		//死循环
        int i = 0;
        for (;;){
            System.out.println(i);
            i++;
        }
while
        int i = 0;
        while(i<5){
            System.out.println("i = " + i);
        }
        
        //死循环
        while(true){
            System.out.println("洗循环");
do…while()
		//会先执行一遍,然后看结果,是否再继续循环
        int i = 1;
        do {
            System.out.println(i);
            i++;
        }while(i<10);
2.10.3 控制关键字
break

终止循环

continue

跳过某次循环

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值