Java基础

Java特性和优势

  • 简单性
  • 面向对象
  • 可移植性:JVM
  • 高性能
  • 分布式
  • 动态性:反射
  • 多线程
  • 安全性
  • 健壮性

Java三大版本

  • JAV SE标准版:桌面程序,控制台开发…
  • Java ME:(了解)
  • Java EE企业版:服务器端开发、web端开发…

JDK、JRE、JVM

JDK:Java Development Kit(Java开发工具)
JRE:Java Runtime Environment(Java运行环境)
JVM:Java Virtual Machine(Java虚拟机)

Java程序运行机制

先编译,在解释
在这里插入图片描述

Java基础语法

  1. 注释
/*这是注释,多行注释*/
//这也是注释,单行注释
下面是文档注释
  /**
     * @deprecated 
     * @author 
     */

  1. 关键字
    在这里插入图片描述
    Java所有的组成都需要名字。类名、变量名以及方法名都被成为标识符。
    标识符必须以大小写字母、美元符号$或者下划线开头。

  2. 数据类型
    Java是强类型语言,必须先定义才能使用。
    都是狂神的截图

public class Demo01 {
    public static void main(String[] args) {
        //八大基本数据类型

        //整数
        int num1=10;//占4个字节范围
        byte num2=10;//占1个字节范围
        short num3=20;//占两个字节范围
        long num4=30L;//long类型后面要加L,占8个字节范围

        //小数:浮点数
        float num5=1.1F;//Float类型后面要加F,占4个字节范围
        double num6=1.1;//占8个字节

        //字符
        char name='种';//这里String不是关键字,是类,占两个字节

        //布尔值
        boolean flag=true;//占一位,其值只有两个
        

    }
}

拓展:
尽量完全避免浮点数的比较。

public class Demo02 {
    public static void main(String[] args) {
        //进制
        int i=10;
        int i2=010;  //八进制0开头
        int i3=0x32; //十六进制0x开头
        int i4=0b10; //二进制0b开头

        //字符
        char name='a';
        System.out.println((int)name);//强制转换
    }
}

  1. 类型转换
    由高到底需要强制转换,低到高是自由转换。
    (1)不能对布尔值转换
    (2)不能把对象类型转换为不相干的类型
    (3)在高容量转换为低容量时,需要强制转换
    (4)转换的时候可能内存溢出,或者精度问题
public class Demo03 {
    public static void main(String[] args) {
        //jdk7中数字较大时可以用下划线分离
        int i=10_0000_0000;
        int j=20;
        int a=i*j;
        System.out.println(a);//超出了整数的字节范围
        long b=i*j;//这样也溢出,因为两个整数相乘还是整数,
        long c=i*(long)j;//这样才行
        System.out.println(b);
        System.out.println(c);
    }
}


  1. 变量
    变量:变量名,变量类型和作用域
    变量作用域:类变量、实例变量和局部变量

//变量:变量名,变量值和作用域
//变量作用域:类变量、实例变量和局部变量
public class Demo04 {
    //类变量 static
    static double salary=2000;

    //实例变量从属于对象,不初始化时为默认值,布尔类型false、0、0.0
    String name;
    int age;

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

        //局部变量;必须声明和初始化
        int i=10;
        System.out.println(i);

        //实例变量
        Demo04 demo04=new Demo04();
        System.out.println(demo04.age);

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

    }

}

变量的命名规范:
在这里插入图片描述

  1. 运算
    如果是b=a++;
    则是先赋值,a再自增。
public class demo01 {
    public static void main(String[] args) {
        int a=1;
        int b=a++;
        int c=++a;
        System.out.println(a);
        System.out.println(b);
        System.out.println(c);

    }
}

在这里插入图片描述

  1. 最快运算2*8?位运算效率极高!!!

这是右移,<<这是左移;
代表/2,<<代表*2;
在这里插入图片描述

  1. 字符串连接
    如果运算左边有字符串,则都作为字符串输出(除非后面括起来),右边有正常运算
public class demo02 {
    public static void main(String[] args) {
        int a=10;
        int b=20;
        System.out.println(""+a+b);
        System.out.println(a+b+"");
    }
}

在这里插入图片描述
9. 三元运算符

x?y:z;
//如果x为真,则结果为y,否则为z。
  1. 生成API文档(tools generdoc)
    在这里插入图片描述
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值