Java 基础知识

天外天工作室移动-Android 组培训 #1

  • 本教程主要是为了后面的面向对象编程铺路,不会讲的非常细致。
  • 本教程的项目结构均基于 IntelliJ IDEA
  1. java 源文件布局
package pkg;

import java.lang.Math;

public class Main {
    public static void main(String[] args) {
        System.out.print("a = ");
        int a = Math.max(1, 2);
        System.out.println(a);
    }
}

一个Java文件通常有三个顶级语句,分别是包声明语句、导包语句、类声明语句,紧跟类声明语句的是类体。

  1. 关键字

Java 语言的关键字有:abstract、boolean、break、byte、case、catch、char、class、continue、default、do、double、else、extends、false、final、finally、float、for、if、implements、import、instanceof、int、interface、long、native、new、null、package、private、protected、public、return、short、static、super、switch、synchronized、this、throw、throws、transient、true、try、void、volatile、while。
Java语言保留字有:const、goto。
关键字不能用于命名变量或者类。

  1. 基本数据类型
    int 整型变量
    double 双精度浮点型变量
    boolean 布尔类型
    String 字符串类型(非基本数据类型)
    数组 在类型后加上一对中括号[]

  2. 变量的作用域
    一对大括号{}包含一个作用域,又称为代码块(codeblock),内部的作用域可以访问外部的变量,外部的作用域无法访问内部的变量。但变量由外部作用域定义后,由内部作用域赋值,在其他外部作用域仍有效。
    final 关键字定义常量,常量一经初始化便不可修改。

  3. 基本语句

    • 输出
      System.out.println("Hello world!");//输出并换行
      System.out.print("Hello world!");//输出不换行
      
    • if 语句
      if(boolean expression){
           statements;
       }
      
      boolean expression 为 boolean 类型的变量或者返回为 boolean 变量的语句,为 true 时,运行大括号中的语句。
    • for 循环
      for(initialization;boolean expression;update control variable) {
            statements;
       }
      
      initialization : 单次运行初始化语句,
      boolean expression : boolean类型的变量或者返回为boolean变量的语句,
      update control variable : 末尾循环语句。
      每次运行 statements 前,判断 boolean expression,为 true 时,运行循环体中的语句。
    • foreach 循环
         for(T t : obj){ 
             statements;
         } 
      
      元素类型 T 元素变量 t : 遍历对象 obj,
      foreach 循环是 Java 中用于遍历类数组对象的一种经过简化的 for 循环。
  4. 函数

    • 基本概念
      函数是定义在类中的一段有特定功能的代码块,便于代码复用。函数由函数声明和函数体构成:
         修饰符 T functionName (Parameter1  p1,Parameter2 p2,....)  {
             statements;
             return t;
          }
      

    T : 函数的返回类型,
    functionName : 函数名,
    Parameter1、Parameter2 : 参数类型,
    p1、p2 : 参数
    return t; : 返回语句,
    t :返回的变量。

    • 函数重载(Overloading)
      在同一个类中,允许存在一个以上的同名函数,只要它们的参数个数或者参数类型不同即可。
      在调用时会根据调用时输入的参数自动选择调用函数。
  5. 注释
    Java 使用 c 风格的注释
    //单行注释
    /*
    .......
    */多行注释

  6. List 的基本用法
    List 是继承自 Collection 类的一个常用的集合类,可以理解为经过封装的数组。
    List 按照元素以线性方式存储,允许存放重复对象。
    List 接口的主要实现类包括:ArrayList 和 LinkedList。
    ArrayList:代表长度可以变化的数组。允许对元素进行快速的随机访问,但是向 ArrayList 中插入与删除元素速度较慢。
    常用方法:
    add(obj) 添加元素 obj,
    get(index) 获取索引为 index 的元素,
    size() 返回 List 的大小,
    clear() 清空 List ,
    addAll(list) 将传入的 list 全部添加进当前 List,
    isEmpty() 返回 List 是否为空,
    调用 Collections.sort(list) 方法传入 list 为 List 进行排序。

  7. 命名规范、编程规范
    Java projects 路径不要有中文字符,
    包名使用小写英文单词,
    类名和文件名一致,使用大驼峰命名法,
    常量名使用全英文大写字母,
    函数、方法名和变量名使用小驼峰命名法。

  8. IDEA 使用小技巧
    Ctrl + alt + L 一键格式化
    Ctrl + / 注释选中行
    Ctrl + Y 删除选中行
    alt + Enter 纠错推荐

以下内容为 2017/09/28 后更新

  • Java变长参数
    在定义一个方法时,如果不确定调用时要传入的某种类型的参数个数,可以使用变长参数,用 "Type..."表示,调用该方法时便可传入个数不一定的某类型的参数。
    在方法体内按照数组的方式调用参数。
    e.g.方法定义:
public void func(int... ints) {
        for (int i = 0; i < ints.length; i++) {
            System.out.println(ints[i]);
        }
    }

调用:

func(1);
func(1,2);
func(4,6,7);

均可。

注意事项:

  1. 变长参数可和其他普通参数混合使用,但变长参数仅能放在参数列表的末尾。
  2. 变长参数不可与同类型的数组构成方法重载。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,362评论 5 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,330评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,247评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,560评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,580评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,569评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,929评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,587评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,840评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,596评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,678评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,366评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,945评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,929评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,165评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,271评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,403评论 2 342

推荐阅读更多精彩内容

  • 一:java概述:1,JDK:Java Development Kit,java的开发和运行环境,java的开发工...
    ZaneInTheSun阅读 2,627评论 0 11
  • 1、一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制?答:可以有多个类,但只能有一个publ...
    岳小川阅读 906评论 0 2
  • 写代码: 1,明确需求。我要做什么? 2,分析思路。我要怎么做?1,2,3。 3,确定步骤。每一个思路部分用到哪些...
    横冲直撞666阅读 348评论 0 0
  • 一:java概述:1991 年Sun公司的James Gosling(詹姆斯·高斯林)等人开始开发名称为 Oak ...
    Roronoa_Zoro_阅读 269评论 0 1
  • 1 一个Java源程序是由若干个类组成。 2 class 是Java的关键字,用来定义类。 3 Java应用程序中...
    少帅yangjie阅读 2,368评论 1 8