Java语法

  1. 注释、标识符、关键字
  2. 数据类型
  3. 类型转换
  4. 变量、常量
  5. 运算符
  6. 包机制、JavaDoc

注释

注释是不会被执行的。
Java中的注释有三种:

  • 单行注释 (推荐)
//
  • 多行注释
/*
多行注释
*/
  • 文档注释 (推荐)
/**
* 
*/

标识符

  • Java所有的组成部分都需要名字。类名、变量名以及方法名都被称为标识符。
    注意点:
    • 所有的标识符都应以字母(A-Z或a-z),美元符($),或者下划线(_)开始。
    • 首字母之后可以是字母(A-Z或a-z),美元符($),下划线(_)或者数字的任何组合
    • 不能使用关键字作为标识符
    • 标识符是大小写敏感的。(区分大小写)
    • 所有标识符最好做到见名知意
  • 关键字 有特殊作用的词
    有如下一些关键字

数据类型

  • 强类型语言
    • 如Java,要求变量的使用要严格符合规定,所有变量都应该先定义,才能使用
  • 弱类型语言
    • 如JS,与强类型语言相反
  • Java的数据类型分为两大类
    • 基本类型(primitive type)
      char(2字节),byte(1字节),short(2字节),int(4字节),long(8字节),float(4字节),double(8字节),boolean(true,false)
    • 引用类型(reference type)
      类,接口,数组

补充:什么是字节

  • 位(bit):是计算机内部数据储存的最小单位,11001100是一个八位二进制数

  • 字节(byte):是计算机中数据处理的基本单位,习惯上用大写B来表示

  • 1B (byte,字节) = 8bit (位)

  • 字符:是指计算机中使用的字母、数字、字和符号

    • 1bit表示1位
    • 1Byte表示一个字节 1B=8b
    • 1024B=1KB
    • 1024KB=1M
    • 1024M=1G

补充:
类型扩展和面试题讲解
整数扩展:

int i1 = 10;  // 十进制
int i2 = 010; // 八进制0
int i3 = 0x10;// 十六进制0x
System.out.print(i1,i2,i3);
// 输出10,8,16

浮点数扩展:
float,double——有限 离散 舍入误差 大约 接近但不等于

float f1 = 1231231231233123f;
float f2 = f1+1;
System.out.print(f1 == f2);
//输出true
//最好完全避免使用浮点数进行比较
//BigDecimal 数学工具类——表示银行的钱

字符扩展:

所有的字符本质是数字
编码 Unicode表:(97 = a,65 = A) 2字节 0-65536 .xls文件只有65536行
U0000 UFFFF
char c3 = '/U0061';// 是十六进制表示,6*16+1*1=97
System.out.print(c3);
//输出 a
// 转义字符 \t空格 \n换行

布尔值的扩展:

boolean flag = true;
if(flag==true){};//新手
if(flag){};//老手
// 代码要精简易读

类型转换

  • 由于Java是强类型语言,所以要进行有些运算时,需要用到类型转换。
    低 —————————————————— 高(优先级)
    char,byte,short -> int -> long -> float -> double

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

  • 强制类型转换

    • 高到低
    • (类型)变量名
  • 自由类型转换

    • 低到高

注意点:

  1. 不能对布尔值进行转换
  2. 不能把对象类型转换为不相干的类型
  3. 在把高容量转换到低容量时,需要强制转换
  4. 转换的时候可能存在内存溢出,或者精度问题!
  • (int)23.7 ---- 23
  • (int)-45.43f -- -45

补充:

// 操作较大的数时,要注意溢出问题
// JDK7新特性,数字之间可以用下划线分隔
int money = 10_0000_0000;
int year = 20;
int total = money*year;// 输出-xxxxxx,计算时溢出了
long total2 = money*year;// 默认是int,转换之前已经存在问题了
long total3 = money((long)year) ;// 先把一个数转换为Long

变量

  • 变量是什么?就是可以变化的量!
  • Java是一种强类型语言,每个变量都必须声明其类型。
  • Java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域。
   type varName [=value][{,varName[=value]}];
// 数据类型 变量名 = 值;可以使用逗号隔开来声明多个同类型变量。
  • 注意事项:
    • 每个变量都有类型,类型可以是基本类型,也可以是引用类型。
    • 变量名必须是合法的标识符。
    • 变量声明是一条完整的语句,因此每一个申明都必须以分号结束。

变量作用域

  • 类变量
  • 实例变量
  • 局部变量
public class Variable{
  static int allClicks=0;// 类变量
  String str = "hello world"; // 实例变量
  public void method(){  
    int i = 0; // 局部变量,使用之前必须声明和初始化。
  }
}
//实例变量:从属于对象;如果不自行初始化,这个类型的默认值(0,0.0,false,null);使用前必须要有一个对象。

常量

  • 常量(Constant):初始化(initialize)后不能再改变值!不会变动的值。
  • 所谓的常量可以理解成一种特殊的变量,他的值被设定后,再程序运行中不允许被改变。
final 常量名=值;
final double PI = 3.14;
  • 常量名一般使用大写字符。

变量的命名规范

  • 所有变量、方法、类名:见名知意
  • 变量:首字母小写和驼峰原则
  • 常量:大写字母和下划线
  • 类名:首字母大写和驼峰原则
  • 方法名:首字母小写和驼峰原则。

运算符

  • Java语言支持如下运算符
    • 算术运算符:+,-,*,/,%,++,--
    • 赋值运算符:==
    • 关系运算符:>,<,>=,<=,==,!=
    • 逻辑运算符:&&,||,!
    • 位运算符:&,|,^,~,<<,>>,>>>(了解)
    • 条件运算符: ?
    • 扩展赋值运算符:+=,-=,*=,/=

posted on 2021-03-01 00:05  简单丶smile  阅读(64)  评论(0)    收藏  举报

导航