java语法基础

1. 变量和基本数据类型

数据类型定义:一组数值和定义在数值上的操作。

1.1 8种基本数据类型

  • 1.整数
    • byte (1 byte): -128 ~ +127
    • short (2 bytes): -32768 ~ +32767
    • int (4 bytes): -2147438648 ~ +2147438647
    • long (8 bytes)
    • unsigned byte (1 byte): 0 ~ 255
    • unsigned short (2 bytes): 0 ~ 0~65535
    • unsigned int (4 bytes): 0~4294967295
    • unsigned long (8 bytes)
  • 2.浮点数
    • float (4 bytes): 3.4E-38 - 3.4E+38
      • 精度: 8, 23
    • double (8 bytes): 1.7E-308 ------ 1.7E+308
      • 精度: 11, 52
  • 3.字符
    • char
      ‘1’, ‘2’, ‘a’, ‘%’
  • 4.boolean 类型
    • true
    • false

1.2 操作符

优先级:单目运算高于双目运算,数学运算>关系运算>逻辑运算,赋值运算最低。有印象即可,不清楚的用()解决一起

  • +: int a = 1 + 5;
  • - : long b = 3 - 5;
  • * : long c = 5 * 4;
  • / : unsigned d = 15 / 3;
  • % : unsigned e = 5 % 3;
  • >, <, >=, <=, ==
  • bool

1.3 数组

  • 格式
 int array[100];
 int [] array = new int[100];
 array[0] = 5;
 int length = array.length();
 int[] arr = {11, 22, 33, 44, 55}

2.表达式和赋值

  • 1.基本的数学计算
 “1 + 2”, “3 / 5”, “3 > 5”, “1 == 2”

每个表达式都有⼀个返回值

  • 2.⽅法调⽤
“sqrt(1)”, “dog.walk()”

⽅法调⽤可以有返回值,也可以没有返回值 (或者说是返回值为空 void)。表达式和语句都以 “;” 表示结束

3. 控制语句

3.1 逻辑控制语句

  • if
if (condition) { action; }
  • if … else …
 if (condition) { action1; } else { action2; }
  • 代码块
    • 使⽤ “{}” 包括起来的单个或者多个语句或表达式

3.2 循环和控制语句

  • for
for (initial; condition; iteration) {}
for (T iterator : Collection) {}     // 增强for循环
  • while
while (condition) {}
  • 执⾏控制语句
return <返回值>: 从⽅法中返回
break: 退出当前循环,即退出整个循环
continue: 跳出当前循环,执行下次循环
throw: 抛出异常
  • 构造语句
    • new: ⽣成⼀个对象
      • Integer a = new Integer(3);

4. java方法

  • 格式:
  <返回类型> ⽅法名(<参数类型> 参数名, …) 
      {代码; return <返回值>;}
  • ⼀个⽅法由 “⽅法名 + 参数类型” 确定,即方法签名
  • 重载:
  • 相同⽅法名,不同参数类型, 是不同的⽅法 (重载override)。即方法名相同,参数列表不同(参数个数或参数类型不同),与返回值类型无关

注意:java的方法是平级的,不可嵌套定义,一个方法不可以做为另外一个方法的参数。

5. JAVA类型模型

5.1 基本概念

  • 类:类是⼀个模板,它描述⼀类对象的⾏为和状态
    • 语义上表达的是⼀类实体(对象)的抽象
  • 对象:对象是类的⼀个实例,有具体的状态
    • 语义上是表达⼀个java类的实体
  • Java⾥的常量和变量都可以对应于⼀个对象,这个对象的⾏为和具有的属性是由类来定义的
  • Java程序的基本结构就是⼀系列类的定义,类之间的关系和具体类的对象之间的互相操作

5.2 类

  • 注意:
    • 在Java中的惯例是⼀个⽂件中存放⼀个public类,文件名与类名相同
    • 格式
    class Person {
      String name;
      int age;
      
      public void speak(){
        System.out.println("speak English");
      }
    }
    

5.3 对象

  • 对象是⼀般情况下Java语⾔⾥的”⼀等公⺠”
  • 对象可以赋值到⼀个变量
    • 对象是通过new语句进⾏创建
Person p = new Person();

5.4 JAVA⽅法和成员变量

  • 成员变量:类中定义的该类的实例对象所具有的状态,其作⽤域在类中,或对象中
  • 成员⽅法:类中定义的该类的实例对象所具有的⾏为,用来操作成员变量
  • 静态⽅法: ⾪属于类本身的⽅法

5.5 权限修饰符

  • 修饰符⽤于控制变量, 类 的作⽤域和⼀些访问限制
  • 访问权限修饰符: public, protected, private, default(即不设置)
权限修饰符 同一个类 同一个包 不同包的子类 不同包的非子类
Private
Default
Protected
Public

5.6 状态修饰符

  • static: 把⽅法或者成员变量设置为类共享,具有static修饰的⽅法和变量的类, 我们称之为”静态类”
  • final
    • final <类>; —> 防⽌类被继承
    • final <变量>; —> 防⽌变量被修改引⽤到另外⼀个对象, 可称为 “常量”
    • final <⽅法>; —> 防⽌⽅法被重载(override)

6. 包和层次结构

  • 为什么要有包
    • 将字节码(.class)进行分类存放,包其实就是文件夹
  • 好处
    • 方便管理类,避免一个文件夹中有太多的类难以管理。
    • “包”: ⽤来表示具有层次结构的命名空间,防止重复类名出现冲突
  • 定义包的格式
    package 包名;
    
  • 定义包的注意事项
    • package语句必须是程序的第一条可执行的代码
    • package语句在一个java文件中只能有一个
    • 如果没有package,默认表示无包名

你可能感兴趣的:(java语法基础)