JavaSE基础入门

java特性和优势

  1. 简单
  2. 面向对象
  3. 可移植性 跨平台 JVM
  4. 高性能
  5. 分布式
  6. 动态性 反射
  7. 多线程
  8. 安全性
  9. 健壮性

天时地利人和 造就了java的成功

java三大版本

  1. javaSE:标准版(桌面,控制天开发)
  2. javaME:嵌入式开发(手机,小家电)
  3. javaEE:企业级开发(web端,服务器开发)

JDK、JRE、JVM

  • JDK::java development kit
  • JRE:java runtime environment
  • JVM:java virtual machine

Hello,World!

  1. 新建一个java文件
    文件后缀名为.java
  2. 编写代码
public class Hello{
	public static void main(String[] args){
		System.out.print("Hello World!");
	}
}
  1. 编译javac java文件,会生成一个class文件
  2. 运行class文件,java class文件
    Helloworld!

可能出现的问题

  1. 每个单词的大小要注意,Java是区分大小写的
  2. 尽量使用英文
  3. 文件名和类名必须保持一致,并且首字母大写
  4. 符号使用中文

Java程序的运行机制

编译型
解释型

Java基础语法

注释、标识符、关键字

  1. 注释
  • 单行注释
  • 多行注释
  • 文档注释
  1. 标识符
    在这里插入图片描述

  2. 关键字

关键字含义
abstract表明类或者成员方法具有抽象属性
assert断言,用来进行程序调试
boolean基本数据类型之一,声明布尔类型的关键字
break提前跳出一个块
byte基本数据类型之一,字节类型
case用在switch语句之中,表示其中的一个分支
catch用在异常处理中,用来捕捉异常
char基本数据类型之一,字符类型
class声明一个类
const保留关键字,没有具体含义
continue回到一个块的开始处
default默认,例如,用在switch语句中,表明一个默认的分支。Java8 中也作用于声明接口函数的默认实现
do用在do-while循环结构中
double基本数据类型之一,双精度浮点数类型
else用在条件语句中,表明当条件不成立时的分支
enum枚举
extends表明一个类型是另一个类型的子类型。对于类,可以是另一个类或者抽象类;对于接口,可以是另一个接口
final用来说明最终属性,表明一个类不能派生出子类,或者成员方法不能被覆盖,或者成员域的值不能被改变,用来定义常量
finally用于处理异常情况,用来声明一个基本肯定会被执行到的语句块
float基本数据类型之一,单精度浮点数类型
for一种循环结构的引导词
goto保留关键字,没有具体含义
if条件语句的引导词
implements表明一个类实现了给定的接口
import表明要访问指定的类或包
instanceof用来测试一个对象是否是指定类型的实例对象
int基本数据类型之一,整数类型
interface接口
long基本数据类型之一,长整数类型
native用来声明一个方法是由与计算机相关的语言(如C/C++/FORTRAN语言)实现的
new用来创建新实例对象
package
private一种访问控制方式:私用模式
protected一种访问控制方式:保护模式
public一种访问控制方式:共用模式
return从成员方法中返回数据
short基本数据类型之一,短整数类型
static表明具有静态属性
strictfp用来声明FP_strict(单精度或双精度浮点数)表达式遵循IEEE 754算术规范
super表明当前对象的父类型的引用或者父类型的构造方法
switch分支语句结构的引导词
synchronized表明一段代码需要同步执行
this指向当前实例对象的引用
throw抛出一个异常
throws声明在当前定义的成员方法中所有需要抛出的异常
transient声明不用序列化的成员域
try尝试一个可能抛出异常的程序块
void声明当前成员方法没有返回值
volatile表明两个或者多个变量必须同步地发生变化
while用在循环结构中

数据类型

  • 强类型语言

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

  • Java的数据类型(两大类)

    • 基本类型(primitive type)
    • 引用类型(reference type)
      在这里插入图片描述

类型转换

  • 由于Java是强类型语言,所以要进行有些运算的时候,需要用到类型转换。
 低---------------------------------------------------->高
 byte,short, char -> int -> long ->float -> double
  • 运算中,不同的类型先转化为同一类型,然后进行运算,
  • 强制类型转换
  • 自动类型转换
public class Demo2 {
    public static void main(String[] args) {

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

        System.out.println(total);
        System.out.println(total2);
        System.out.println(total3);

    }
}

变量、常量

  • 变量是什么,就是可以变化的量!
  • Java是一种强类型语言,每个变量偶读必须声明其类型。
  • Java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域。
public class Demo03 {

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

    // 属性:变量

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


    public static void main(String[] args) {

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

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

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

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

    }
}

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

运算符

  • 算数运算符:+, -, *, /, %, ++, –
  • 赋值运算符:=
  • 关系运算符:>, <, >=, <=, ==, !=instanceof
  • 逻辑运算符:&&,||,!
  • 位运算符:&,|,^, >>, <<, >>>(了解)
  • 条件运算符:?:
  • 货站赋值运算符:+=, -=, *=, /=
// 位运算符
public class Demo04 {
    public static void main(String[] args) {

        /*
         * A = 0011 1100
         * B = 0000 1101
         * -----------------
         * A&B = 0000 1100
         * A|B = 0011 1101
         * A^B = 0011 0001
         * ~B = 1111 0010
         *
         * 2*8 = 16 2*2*2*2
         * 效率极高
         * << *2
         * >> /2
         * */

        System.out.println(2<<3);
        // 16
    }
}
//字符串拼接
public class Demo05 {
    public static void main(String[] args) {
        int a = 5;
        int b = 20;

        a+=b;
        a-=b;

        System.out.println(a);
        // 字符串连接符  + , String
        System.out.println(a+b);
        System.out.println("lai"+a+b+"lin");
        // lai520lin
        System.out.println(a+b+"lin");
        // 25lin
        
    }
}
//三元运算符
public class Demo06 {
    public static void main(String[] args) {
        // x ? y : z
        // 如果x==true,则结果为y,否则为z
        int score = 50;
        String result = score < 60 ? "不及格" : "及格";
        System.out.println(result);
    }
}

包机制、JavaDoc

  • 为了更好的组织类,java提供了包机制,用于区别类名的命名空间
  • 包语句的语法格式为:
package lai.operator;
//package pkg1[.pkg2[.pkg3...]];
import java.util.Date;
//import package1[.package2...].(classname|*);
  • javadoc命令是用来生成自己的API文档的
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值