Java教程

Java基础

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

注释

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

标识符

  • 所有的标识符都应该以字母(A-Z或者a-z),美元符($)、或下划线(_)为首字符
  • 首字符之后可以是字母(A-Z或者a-z),美元符($)、下划线(_)或数字的字符任意组合
  • 不能使用关键字作为变量名或方法名
  • 标识符是大小敏感的

数据类型

  • 强类型语言是一种强制类型定义的语言,即一旦某一个变量被定义类型,如果不经强制转换,那么它永远就是该数据类型。

  • 弱类型语言是一种弱类型定义的语言,某一个变量被定义类型,该变量可以根据环境变化自动进行转换,不需要经过现行强制转换。

Java的数据类型分为两大类

  • 基本类型(primitive type)
  • 引用类型(reference type)

img

int iNum = 1;
byte bNum = 1;
short sNum = 1;
long lNum = 1L;
float fNum = 1F;
double dNum = 1;
boolean flag = true;
char c = '颜';
  • 1bit表示1位

    1Byte表示一个字节 1B = 8b

    B -> KB -> MB -> GB -> TB -> PB -> EB -> ZB -> YB -> NB -> DB -> CB -> XB

  • 拓展

    • 整数

      int i = 10; // 十进制
      int i1 = 0b10; // 二进制
      int i2 = 010; // 八进制
      int i3 = 0x10; // 十六进制
      
    • float: 有限、离散、舍入误差、大约、接近但不等于,无法进行比较,可使用BigDecimal

    • unicode表

      • 2个字节,2^16=65536,范围:[u0000,uFFFF]
      • 每个字符对应的一个数字(a = 97,A = 65)
      • 亦可表示为:'\u0061' --> a
    • 转义字符

      • \t 制表符
      • \n 换行

类型转换

转换规则

  • 由低到高(自动转换):byte,short,chat -> int -> long -> float -> double

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

  • 由高到低(强制转换):(类型)变量名,可能存在内存溢出或精度问题

    int i = 128;
    byte b = (byte)i; // -128,内存溢出
    int i1 = (int)23.7; // 23,精度问题
    

拓展

  • 数字之间可以使用下划线分隔(JDK7新特性)

    int i = 10_0000_0000; // 1000000000
    
  • 操作较大数值时,注意溢出问题

    int i = 10_0000_0000;
    int j = 20;
    System.out.println(i*j); // -1474836480
    System.out.println(i*(long)j); // 20000000000
    

变量命名规范

  • 所有变量、方法、类名:见名知意
  • 类成员变量:小驼峰法
  • 局部变量:小驼峰法
  • 常量:大写字母和下划线
  • 类名:大驼峰法
  • 方法名:小驼峰法

小驼峰法:第一个单词以小写字母开始;第二个单词的首字母大写;

大驼峰法:每一个单词的首字母大写;

运算符

  • 算术运算符: +,-,*,/,%,++,--
  • 赋值运算符:=
  • 关系运算符:>,<,>=,<=,==,!=,instanceof
  • 逻辑运算符:&&,||,!
  • 位运算符:&,|,^,~,>>,<<,>>>
  • 条件运算符:? :
  • 扩展赋值运算符:+=,-=,*=,/=

++(自增)、--(自减)

  • ++在前:计算前自增,++在后:计算后再自增
int a = 3;
int b = a++; // b = a++ ==> b = a; a = a + 1; 赋值给b后,a才自增。
int c = ++a; // c = ++a ==> a = a + 1; c = a; 在赋值给c前,a已经自增。 
System.out.println(a); // 5
System.out.println(b); // 3
System.out.println(c); // 5

逻辑运算符

  • &&:全真才为真
  • ||:全假才为假
  • !:取反
  • 短路运算:当一个参与运算的操作数足以推断该表达式的值时,另一个操作数就不会执行。
boolean a = true;
boolean b = false;
int c = 5;
System.out.println(a && b); // false
System.out.println(a || b); // true
System.out.println(!(a && b)); // true
System.out.println(c < 4 && c++ > 4); // false
System.out.println(c); // 5  因为c < 4已经足以推断表达式(false),所以c++不执行

位运算符

  • &:全1取1,其余取0
  • |:有1取1,全0取0
  • ~:取反
  • ^:相同取0,不同取1。异或等于不进位的二进制加法。
  • >>:/2
  • <<:*2

字符串连接符

int a = 10;
int b = 20;
System.out.println(a + b + ""); // 30
System.out.println("" + a + b); // 1020

三元运算符

int score = 60;
System.out.println(score >= 60 ? "及格" : "不及格"); // 及格
score = 50;
System.out.println(score >= 60 ? "及格" : "不及格"); // 不及格

包机制

  • 本质为文件夹
  • 利用公司域名倒置作为包名:www.baidu.com -> com.baidu.www

JavaDoc

Javadoc用于描述类或者方法的作用。Javadoc可以写在类上面和方法上面。

此博主写得很详细:Javadoc 使用详解_monday的博客

  • @auther 作者名
  • @version 版本号
  • @since 指明需要最早使用的jdk版本
  • @param 参数名
  • @return 返回值情况
  • @throws 异常抛出情况

使用控制台生成javadoc文档

javadoc -encoding UTF-8 -charset UTF-8 Demo07.java

使用idea生成javadoc文档

  1. 选择生成JavaDoc的范围
  2. 选择输出路径
  3. 填写Locale:zh_CN
  4. 填写Other command line arguments:-encoding UTF-8 -charset UTF-8 -windowtitle "接口wiki" -link http://docs.Oracle.com/javase/8/docs/api
这篇关于Java基础的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!