Java基础部分(1)

适合人群

  适合拥有一门编程语言基础的人快速迁移各种语言的基础部分。初学者可以将其当做学习大纲或者是学习顺序指南,仅仅是个人建议,仅供参考。

Java语言关键字

  

于定义数据类型的关键

class

interface

byte

short

int

long

float

double

char

boolean

void

       

用于定义数据类型值的关键字

true

false

null

   

用于定义流程控制的关键字

if

else

switch

case

default

while

do

for

break

continue

return

       

用于定义访问权限修饰符的关键字

private

protected

public

   

用于定义类,函数,变量修饰符的关键字

abstract

final

static

synchronized

 

用于定义类与类之间关系的关键字

extends

implements

     

用于定义建立实例及引用实例,判断实例的关键字

new

this

super

instanceof

 

用于异常处理的关键字

try

catch

finally

throw

throws

用于包的关键字

package

import

     

其他修饰符关键字

native

strictfp

transient

volatile

assert

  如果能够掌握编程语言的关键字的使用,那么就掌握了绝大部分的主要语法。而且计算机中唯一需要背的单词就是关键字。虽说一些方法也需要背,不过如果记不住。也可以自己写。所以,只有关键字需要记忆。

Java语言语法部分

  注释

  单行注释:

    格式: //注释内容

  多行注释:

    格式:/*注释内容*/

  文档注释:

    格式:/** 文档内容  */

  数据类型

  

特别说明:在引用数据类型中,类的部分中,常用的数据类型有:String(字符串)和集合。集合下面有两个分支:Collection(相当于可变数组)、Map(相当于字典,以键值对的形式存储)

Collection
  |--List 有序,可重复
    |--ArrayList
      底层数据结构是数组,查询快,增删慢。
      线程不安全,效率高
    |--Vector
      底层数据结构是数组,查询快,增删慢。
      线程安全,效率低
    |--LinkedList
      底层数据结构是链表,查询慢,增删快。
      线程不安全,效率高
  |--Set 无序,唯一
    |--HashSet
      底层数据结构是哈希表。
      如何保证元素唯一性的呢?
        依赖两个方法:hashCode()和equals()
        开发中自动生成这两个方法即可
      |--LinkedHashSet
        底层数据结构是链表和哈希表
        由链表保证元素有序
        由哈希表保证元素唯一
    |--TreeSet
      底层数据结构是红黑树。
      如何保证元素排序的呢?
        自然排序
        比较器排序
      如何保证元素唯一性的呢?
        根据比较的返回值是否是0来决定


Map

  |--HashMap

    底层数据结构是哈希表

    存储的是键值对形式的元素,键唯一,值可以重复。

  运算符

算数运算符

  +(加),-(减),*(乘),/(除),%(取余),++(加价),--(减减),+(字符串拼接)

赋值运算符

  =,+=,-=,*=,/=,%=  

  例:5+=1   等价于  5=5+1;     x+=1 等价于 x=x+1;    

  注意:=是赋值运算   ==是比较运算,也就是数学中的等于号

比较运算符

  ==(等于),!=(不等于),<(小于),>(大于),<=(小于等于),>=(大于等于)

  所有赋值运算都返回boolean值,也就是 true 和 false

逻辑运算符

  &(逻辑与),|(逻辑或),^(逻辑异或),!(逻辑非),&&(短路与),||(短路或)

  都返回boolean值

位运算符

  <<(左移),>>(右移),&(与运算),|(或运算),^(异或运算),~(反码),>>>(无符号右移)

  注意1:参与位运算的都是数字,返回值也是数字。而参与逻辑运算的都是boolean类型,返回值也是boolean

  注意2:这些运算都需要将数字,转换为二进制再进行运算。

三元运算符

  格式:

  (关系表达式)?表达式1:表达式2;

  如果表达式是true,则运算的结果为表达式1

  如果表达式是false,则运算的结果为表达式2

   逻辑结构

选择结构1:if  else if  else

例:

if(关系表达式1){
    语句体1;
}else if(关系表达式2){
  语句体2;  
}else{
  语句体3;      
}

注意:关系表达式返回值必须是boolean类型。其他类型的返回值都会报错。

选择结构2:switch 语句

例:

switch(条件表达式){
    case 值1:
           语句体1;
           break;          
    case 值2:
           语句体2;
           break; 
    ......       
   default:
           语句体n+1;
           break;        
         
}

特别说明:表达式的取值:byte、short、int、char。JDK5以后可以是枚举,JDK7以后可以是String。

循环结构1 :for

for(初始化语句;判断条件语句;控制条件语句){
     循环体语句;
}
//具体例子
for(int i=0;i<10;i++){
     System.out.print(i);  
}

  方式二:增强for

格式:
for(元素数据类型 变量 : 数组或者Collection集合) {
    使用变量即可,该变量就是元素
    }
//具体例子:
ArrayList<Integer> list = new ArrayList<Integer>();
for( int i :list ){
  System.out.print(i);  
}

//好处:简化遍历

循环结构2:while

while(判断条件语句){
    循环体语句;
}
//具体例子
int i=0;
while(i<10){
  System.out.print(i);
  i++;  
}

循环结构3:do while

初始化语句;
do{
  循环语句体;
  控制条件语句;
}while(判断条件语句);

//具体例子
int i=0;
do{
    System.out.print(i);
    i++;
}while(i<10);

特别说明:在开发过程中,如果已知循环次数则使用for,如果循环次数不确定则使用while。

跳转控制语句

  break;//跳出单层循环

        continue//退出本次循环

   return//结束当前方法

 

原文地址:https://www.cnblogs.com/jike8023/p/9881106.html