Java基础语法

1. 注释、标识符、关键字

注释:不会被执行,方便人阅读代码
书写注释是个很好的习惯

注释

Java中的三种注释

  • 单行注释 // +注释
  • 多行注释 /* 注释*/
  • 文档注释

标识符

  • 关键字
abstractassertbooleanbreakbyte
casecatchcharclassconst
continuedefaultdodoubleelse
enumextendsfinalfinallyfloat
forgotoifimplementsimport
instanceofintinterfacelongnative
newpackageprivateprotectedpublic
returnstrictfpshortstaticsuper
switchsynchronizedthisthrowthrows
transienttryvoidvolatilewhile
  • Java所有的组成部分都需要名字。类名、变量名以及方法名都被称为标识符
    不能使用关键字作为变量名或方法名

2. 数据类型

  • 强类型语言

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

  • Java的数据类型分为两大类

    • 基本类型

      • 数值类型
        • 整数类型 byte short int long(long类型要在数字后面加个L)
        • 浮点类型 float(float类型要在数字后面加个F) double
        • 字符 char 字符串 String(String不是关键字,类)
      • boolean类型 占1位其值只有true和false两个
    • 引用类型

      • 接口
      • 数组

    数据类型拓展

    //整数拓展:二进制0b  十进制  八进制0  十六进制0x
    int i=0b1;  //二进制
    int i2=010; //八进制
    int i3=0x10; //十六进制0x 0~9 A~F 
    
    //浮点数拓展
    //BigDecimal 数学工具类
    //float  有限  离散  舍人误差  大约  接近但不等于
    //double
    //最好避免使用浮点数进行比较
    //最好避免使用浮点数进行比较
    //最好避免使用浮点数进行比较
    
    float f = 0.1f;  //0.1
    double d = 1.0/10; //0.1
    System.out.println(f==d);  //false  f:0.1  d:0.1
    
    float d1 = 232323233323232233333f;
    float d2 = d1 + 1;
    System.out.println(d1==d2);   // true
    
    
    //字符拓展
    
    char c1 =  'a';
    char c2 = '中';
    System.out.println(c1);
    System.out.println((int)c1);  // 97  强制转换
    System.out.println(c2);
    System.out.println((int)c2);  //20013  强制转换
    //所有字符本质还是数字
    //编码 Unicode   2字节   0 -  65536
    
    
    //转义字符
    // \t 制表符
    // \n 换行符
    
    
    

3. 类型转换

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

  • 运算中,不同类型的数据先转化为同一类型,然后进行计算
int i = 128;
byte b = (byte)i; // -128 内存溢出
//强制转换  (类型)变量名  高--低
//自动转换  低--高
/*
注意点:
1.不能对布尔值进行转换
2.不能把对象类型转换为不相干的类型
3.在把高容量转换到低容量的时候,强制转换
4.转换的时候可能存在内存溢出,或者精度问题
*/
System.out.println((int)23.7);  //23
System.out.println((int)-45.89f); //-45


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

4. 变量、常量

  • 变量:可以变化的量
  • Java是一种强制类型语言,每个变量都必须声明其类型
  • Java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域
type varName [=value][{,varName[=value]}];
//数据类型  变量名 = 值;可以使用逗号隔开来声明多个同类型变量

变量作用域

  • 类变量
  • 实例变量
  • 局部变量
 public class Variable{
            static int allClicks = 0;  //类变量
            String str = "hello world";  //实例变量,方法之外,从属于对象;
            
            public void method(){
                int i = 0; //局部变量,必须声明和初始化值
            }
        }
public class Demo08 {

    //类变量 static
    static double salary = 2500;

    //实例变量:从属于对象;如果不自动初始化,这个类型的默认值 0 0.0
    //布尔值:默认是false
    //除了基本类型,其余的默认值都是null;
    String name;
    int age;

    //main方法
    public static void main(String[] args) {

        //局部变量:必须声明和初始化值
        int i = 10;

        System.out.println(i);

        //变量类型  变量名字 = new Demo08();
        Demo08 demo08 = new Demo08();
        System.out.println(demo08.age);
        System.out.println(demo08.name);


        //类变量  static
        System.out.println(salary);

    }

    //其他方法
    public void add(){

    }
}

常量

  • 常量:初始化后不能再改变的值
  • 常量是一种特殊的变量,它的值被设定后,在程序运行过程中不允许被改变

final 常量名 = 值;
final double PI = 3.14;

  • 常量名一般使用大写字符
public class Demo09 {

    //修饰符,不存在先后顺序
    static final double PI = 3.14;
    public static void main(String[] args) {
        System.out.println(PI);

    }
}

变量名的命名规范

  • 所有变量、方法、类名:见名知意
  • 类成员变量:首字母小写和驼峰原则:monthSalary除了第一个单词以外,后面的单词首字母大写
  • 局部变量:首字母小写和驼峰原则:Man,GoodMan
  • 常量:大写字母和下划线:MAN_VALUE
  • 类名:首字母大写和驼峰原则
  • 方法名:首字母小写和驼峰原则:run(),runRun()

5. 运算符

  • 算术运算符:+,-,*,/,%(取余),++,–
  • 赋值运算符:=
  • 关系运算符:>,<,>=,<=,==,!=instanceof
  • 逻辑运算符:&&,||,!
  • 位运算符:&,|,^,~,>>,<<,>>>
  • 条件运算符: ?:
  • 扩展赋值运算符:+=,-=,*=,/=
int a = 3;
int b = a++;  //b=3,执行完这行代码后,先给b赋值,再自增
int c = ++a;  //c=5,执行完这行代码前,先自增,再给c赋值

//幂运算 使用工具类
double pow = Math.pow(3,2);
System.out.println(pow);


//短路运算
int c = 5;
boolean d = (c<4)&&(c++<4);
System.out.println(d);  //false
System.out.println(c); //5


int a = 10;
int b = 20;
//字符串连接符 + , String
System.out.println(""+a+b); //1020
System.out.println(a+b+""); //30

//三元运算符
// x ? y : z
//如果x==true,则结果为y,否则结果为z
int score = 80;
String type = score < 60 ? "不及格" : "及格";

6. 包机制、JavaDoc

包机制

  • 为了更好地组织类,Java提供了包机制,用于区别类名的命名空间
  • 包语句的语法格式:

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

  • 使用"import" 导入包成员

import package1[.package2…].(classname|*);

JavaDoc

  • javadoc命令是用来生成自己API文档的
  • 参数信息
  • @author 作者名
  • @version 版号名
  • @since 指明需要最早使用的jdk版本
  • @param 参数名
  • @return 返回值情况
  • @throws 异常抛出情况

7.字节

  • 位(bit):计算机内部数据储存的最小单位,11001100是一个八位二进制
  • 字节(byte):计算机中数据处理的基本单位,用大写B表示
  • 1B(byte,字节) = 8bit(位)
  • 字符:计算机中使用的字母、数字、字和符号

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值