Java教程

从头学Java!!!

本文主要是介绍从头学Java!!!,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

了解Java特性和优势

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

Java三大版本

  • JavaSE:标准版(核心)
  • JavaEE:企业版(web端,服务器开发……)
  • JavaME:嵌入式(移动版,手机等)

JDK、JRE、JVM

  • JDK:开发者工具(包含JRE、JVM)

  • JRE:运行环境

  • JVM:Java虚拟机

重启第一步

HelloWorld

Java注释:

  • 单行注释: //
  • 多行注释: /* …… */
  • 文档注释: /** …… */

注释虽然可以不写,但是是一个非常好且重要的习惯

标识符

  • 所有的标识符都应该以字母、$、下划线 、数字组成
  • 不能使用关键字
  • 对于大小写十分敏感

基础

类型

八大基本类型:

  • 数值类型
    • 整数类型
      • byte(1字节)范围:-128 ~ 127
      • short(2字节)范围:-32768 ~ 32767
      • int(4字节)范围:-214783648 ~ 2147483647
      • long(8字节)范围:-9223372036854775808 ~ 9223372036854775807
    • 浮点类型
      • float(4字节)
      • double(8字节)
    • 字符类型 char(2字节)
  • boolean(布尔)类型 true/false(1位)

引用类型:

“String不是一个关键字而是一个对象,为引用类型“

  • 接口
  • 数组

类型转换

强制类型转换 高->低

自动类型转换 低->高

  1. 不能对布尔值进行转换
  2. 不能把对象类型转换为不相干的类型
  3. 在把高容量转换到低容量时,是强制转换
  4. 转换的时候可能存在内存溢出,或者精度问题
// 操作比较大的数据的时候,注意溢出问题
// JDK7新特性,熟自制件可以用下划线分隔
int money = 10_0000_0000;
int years = 20;
int total = money*years;// 输出结果为:-1474836480,int长度不足,结果溢出
// 在'money*years'计算的时候溢出了,计算默认是int,转换之前已经存在问题
System.out.println(total);
// 解决:
long total1 = money*((long)years);// 先把一个数据转为long
System.out.println(total1);

变量

变量是什么,就是可以变化的值

Java变量是程序中最基本的存储单元,要素包括变量名,变量类型和作用域

注意:

  • 每个变量都有类型,可以使基本类型,也可以是引用类型

  • 变量必须是合法的标识符

  • 变量声明是一条完整的语句,因此每一个声明都必须以分号结束

public class Demo {
    
    // 类变量  static
    static int salary = 5000;


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


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

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


        // 定义此类,调用类中的变量
        // 变量类型 变量名字 = new Demo()
        Demo demo = new Demo();
        System.out.println("实例变量,"+ demo.name + "," + demo.age);


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

命名规范:见其名知其意

常量

初始化后不能在改变的值;不会变动的值

(多个修饰符时,不区分前后)

运算符

  • 算术运算符
    • ​ + 、 - 、 * 、 / 、%(取余) 、++(自增) 、--(自减)
int a =3;
int b = a++;// 后自增;先调用后自增+1
System.out.println(b);
int c = ++a;// 先自增;先自增+1后调用
System.out.println(c);
// Math,数学函数
// 幂运算
double sum = Math.pow(2,3);// 2的三次方
System.out.println(sum);
  • 赋值运算符
    • ​ =
    • 扩展:+= 、-=、 *= 、/=
a += b	// a = a + b
a -= b	// a = a - b
a *= b	// a = a * b
a /= b	// a = a / b
  • 关系运算符

    • ​ < 、 > 、 <= 、 >= 、 == 、 != 、 instanceof
  • 逻辑运算符

    • ​ &&(与) 、 ||(或) 、 !(非)
// 与(and)    或(or)   非(取反)
boolean a = true;
boolean b = false;

System.out.println((a && b) + "     && 逻辑与运算:两个变量都为真,结果才为真");
System.out.println((a || b) + "     || 逻辑或运算:两个变量其中有一个为真,结果为真");
System.out.println(!(a && b) + "    ! 如果结果为真,则变为假;如果结果为假,则变为真");

// 短路运算
  • 位运算符
    • ​ & 、 | 、 ^ 、 ~ 、 >> 、 << 、 >>>
a = 0011 1100
b = 0000 1101

a & b = 0000 1100;a与b相比较,上下两个数都为1结果才为1,否则为0
a | b = 0011 1101;其中有一个为1结果为1
a ^ b = 0011 0001;其中有一个为1结果为1,如果两个都为1结果为0
~1 = 1100 0011;取反1=0,0=1
    
<<	左移	移一位等于*2
>>	右移	移一位等于/2
  • 条件运算符(三元运算符)
    • ​ ? 、 :
// 字符串连接符	+
System.out.println("" + a + b);
// a + b,在后面表示连接a和b
System.out.println(a + b + "");
// a + b,在前面表示进行运算然后连接"" 
这篇关于从头学Java!!!的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!