Java快速入门-01-基础篇

  • 如果基础不好或者想学的很细,请参看:菜鸟教程-JAVA
  • 本笔记适合快速学习,文章后面也会包含一些常见面试问题,记住快捷键操作,一些内容我就不转载了,直接附上链接,嘻嘻

开发工具的安装与配置

在 Eclipse 中建立 java 项目

第一个 JAVA 程序

  • 一般的我们新建包>新建java类,会自动生成一条头部包信息,如果修改包名,或者直接从别的地方拷贝代码,要相应修改,例
package learn;
  • 我们通过一个简单的实例来展示 Java 编程,创建文件 HelloWorld.java(文件名需与类名一致), 代码如下:
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello World");
}
}
  • 一般的 main 函数我们是不会自己去敲的,而是使用快捷键,输入main,然后按下Alt + /两个键,会提示 main 函数,选好后回车
  • 注:String args[] 与 String[] args 都可以执行,但推荐使用 String[] args,这样可以避免歧义和误读
  • 然后 System.out.println(" ")函数也不会有人一个字一个字敲,输入syso,然后Alt + /两个键,会提示 sysout 函数,选好后回车

java 程序的运行

  • Eclipse 中运行 (最好记住快捷键)

    • 1.快捷键:Ctrl + F11
    • 2.右键>run as>Java Application
  • 终端或者 cmd 中运行
C:> javac HelloWorld.java
C:> java HelloWorld
Hello World

基本语法

  • 编写Java程序时,应注意以下几点:
  • 大小写敏感:Java是大小写敏感的,这就意味着标识符Hello与hello是不同的
  • 类名:对于所有的类来说,类名的首字母应该大写。如果类名由若干单词组成,那么每个单词的首字母应该大写,例如 MyFirstJavaClass
  • 方法名:所有的方法名都应该以小写字母开头。如果方法名含有若干单词,则后面的每个单词首字母大写
  • 源文件名:源文件名必须和类名相同。当保存文件的时候,你应该使用类名作为文件名保存(切记Java是大小写敏感的),文件名的后缀为.java。(如果文件名和类名不相同则会导致编译错误)
  • 主方法入口:所有的Java 程序由public static void main(String []args)方法开始执行

Java标识符

  • Java所有的组成部分都需要名字。类名、变量名以及方法名都被称为标识符
  • 关于Java标识符,有以下几点需要注意:
  • 所有的标识符都应该以字母(A-Z或者a-z),美元符($)、或者下划线(_)开始
  • 首字符之后可以是字母(A-Z或者a-z),美元符($)、下划线(_)或数字的任何字符组合
  • 关键字不能用作标识符
  • 标识符是大小写敏感的
  • 合法标识符举例:age、$salary、_value、__1_value
  • 非法标识符举例:123abc、-salary

Java修饰符

  • 像其他语言一样,Java可以使用修饰符来修饰类中方法和属性。主要有两类修饰符:
  • 访问控制修饰符 : default, public , protected, private
  • 非访问控制修饰符 : final, abstract, strictfp

Java变量

  • Java中主要有如下几种类型的变量
  • 局部变量
  • 类变量(静态变量)
  • 成员变量(非静态变量)

Java数组

  • 数组是储存在堆上的对象,可以保存多个同类型变量。在后面的章节中,我们将会学到如何声明、构造以及初始化一个数组

Java枚举

  • Java 5.0引入了枚举,枚举限制变量只能是预先设定好的值。使用枚举可以减少代码中的bug
  • 例如,我们为果汁店设计一个程序,它将限制果汁为小杯、中杯、大杯。这就意味着它不允许顾客点除了这三种尺寸外的果汁
class FreshJuice {
enum FreshJuiceSize{ SMALL, MEDIUM , LARGE }
FreshJuiceSize size;
} public class FreshJuiceTest {
public static void main(String []args){
FreshJuice juice = new FreshJuice();
juice.size = FreshJuice.FreshJuiceSize.MEDIUM ;
}
}
  • 注意:枚举可以单独声明或者声明在类里面。方法、变量、构造函数也可以在枚举中定义

Java 关键字

  • 下面列出了Java 关键字。这些保留字不能用于常量、变量、和任何标识符的名称
  • 没事多背背
类别 关键字 说明
访问控制 private 私有的
protected 受保护的
public 公共的
类、方法和变量修饰符 abstract 声明抽象
class
extends 扩充,继承
final 最终值,不可改变的
implements 实现(接口)
interface 接口
native 本地,原生方法(非Java实现)
new 新,创建
static 静态
strictfp 严格,精准
synchronized 线程,同步
transient 短暂
volatile 易失
程序控制语句 break 跳出循环
case 定义一个值以供switch选择
continue 继续
default 默认
do 运行
else 否则
for 循环
if 如果
instanceof 实例
return 返回
switch 根据值选择执行
while 循环
错误处理 assert 断言表达式是否为真
catch 捕捉异常
finally 有没有异常都执行
throw 抛出一个异常对象
throws 声明一个异常可能被抛出
try 捕获异常
包相关 import 引入
package
基本类型 boolean 布尔型
byte 字节型
char 字符型
double 双精度浮点
float 单精度浮点
int 整型
long 长整型
short 短整型
变量引用 super 父类,超类
this 本类
void 无返回值
保留关键字 goto 是关键字,但不能使用
const 是关键字,但不能使用
null

Java注释

  • 类似于C/C++,Java也支持单行以及多行注释。注释中的字符将被Java编译器忽略
public class HelloWorld {
/* 这是第一个Java程序
*它将打印Hello World
* 这是一个多行注释的示例
*/
public static void main(String []args){
// 这是单行注释的示例
/* 这个也是单行注释的示例 */
System.out.println("Hello World");
}
}

继承

  • 在Java中,一个类可以由其他类派生。如果你要创建一个类,而且已经存在一个类具有你所需要的属性或方法,那么你可以将新创建的类继承该类
  • 利用继承的方法,可以重用已存在类的方法和属性,而不用重写这些代码。被继承的类称为超类(super class),派生类称为子类(subclass)

接口

  • 在Java中,接口可理解为对象间相互通信的协议。接口在继承中扮演着很重要的角色
  • 接口只定义派生要用到的方法,但是方法的具体实现完全取决于派生类

Java 源程序与编译型运行区别

如下图所示:

Java 对象和类

  • Java作为一种面向对象语言。支持以下基本概念:

    多态、继承、封装、抽象、类、对象、实例、方法、重载
  • 对象:对象是类的一个实例(对象不是找个女朋友),有状态和行为。例如,一条狗是一个对象,它的状态有:颜色、名字、品种;行为有:摇尾巴、叫、吃等

    类:类是一个模板,它描述一类对象的行为和状态

Java中的类

  • 类可以看成是创建Java对象的模板
  • 通过下面一个简单的类来理解下Java中类的定义:
public class Dog{
String breed;
int age;
String color;
void barking(){
} void hungry(){
} void sleeping(){
}
}

一个类可以包含以下类型变量:

  • 局部变量:在方法、构造方法或者语句块中定义的变量被称为局部变量。变量声明和初始化都是在方法中,方法结束后,变量就会自动销毁
  • 成员变量:成员变量是定义在类中,方法体之外的变量。这种变量在创建对象的时候实例化。成员变量可以被类中方法、构造方法和特定类的语句块访问。
  • 类变量:类变量也声明在类中,方法体之外,但必须声明为static类型。

    一个类可以拥有多个方法,在上面的例子中:barking()、hungry()和sleeping()都是Dog类的方法

构造方法

  • 每个类都有构造方法。如果没有显式地为类定义构造方法,Java编译器将会为该类提供一个默认构造方法
  • 在创建一个对象的时候,至少要调用一个构造方法。构造方法的名称必须与类同名,一个类可以有多个构造方法
  • 下面是一个构造方法示例:
public class Puppy{
public Puppy(){
} public Puppy(String name){
// 这个构造器仅有一个参数:name
}
}

创建对象

  • 对象是根据类创建的。在Java中,使用关键字 new 来创建一个新的对象。创建对象需要以下三步:
  • 声明:声明一个对象,包括对象名称和对象类型
  • 实例化:使用关键字new来创建一个对象
  • 初始化:使用new创建对象时,会调用构造方法初始化对象
  • 下面是一个创建对象的例子:
public class Puppy{
public Puppy(String name){
//这个构造器仅有一个参数:name
System.out.println("小狗的名字是 : " + name );
}
public static void main(String []args){
// 下面的语句将创建一个Puppy对象
Puppy myPuppy = new Puppy( "tommy" );
}
}
  • 编译并运行上面的程序,会打印出下面的结果:
小狗的名字是 : tommy

关于类的常见面试问题

  • 1、一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制?

    • 可以有多个类,但只能有一个public的类,并且public的类名必须与文件名相一致
  • 2、Java有没有goto?
    • java中的保留字,现在没有在java中使用
  • 3.请说出作用域public,private,protected,以及不写时的区别

    这四个作用域的可见范围如下表所示



    说明:如果在修饰的元素上面没有写任何访问修饰符,则表示friendly

更多文章链接:Java 快速入门


本笔记不允许转载

Java快速入门-01-基础篇的更多相关文章

  1. Java快速入门-02-基础篇

    Java快速入门-02-基础篇 上一篇应该已经让0基础的人对 Java 有了一些了解,接一篇更进一步 使用 Eclipse 快捷键 这个老师一般都经常提,但是自己不容易记住,慢慢熟练 快捷键 快捷键作 ...

  2. ThinkPHP3.2.3快速入门:基础篇

    一.安装 thinkphp无需安装,只需将从官网上下载的压缩包解压后,把所有文件放到localhost根目录里就行了 二.压缩包中文件简述 :应用程序文件夹.自己所写的文件都放在这个文件夹里面 :公用 ...

  3. Java快速入门-03-小知识汇总篇(全)

    Java快速入门-03-小知识汇总篇(全) 前两篇介绍了JAVA入门的一系小知识,本篇介绍一些比较偏的,说不定什么时候会用到,有用记得 Mark 一下 快键键 常用快捷键(熟记) 快捷键 快捷键作用 ...

  4. Spring Boot 入门之基础篇(一)

    原文地址:Spring Boot 入门之基础篇(一) 博客地址:http://www.extlight.com 一.前言 Spring Boot 是由 Pivotal 团队提供的全新框架,其设计目的是 ...

  5. Qt入门之基础篇 ( 二 ) :Qt项目建立、编译、运行和发布过程解析

    转载请注明出处:CN_Simo. 题解: 本篇内容主讲Qt应用从创建到发布的整个过程,旨在帮助读者能够快速走进Qt的世界. 本来计划是讲解Qt源码静态编译,如此的话读者可能并不能清楚地知道为何要静态编 ...

  6. Java面试题之基础篇概览

    Java面试题之基础篇概览 1.一个“.java”源文件中是否可以包含多个类(不是内部类)?有什么限制? 可以有多个类,但只能有一个public的类,且public的类名必须与文件名相一致. 2.Ja ...

  7. Qt入门之基础篇 ( 一 ) :Qt4及Qt5的下载与安装

    转载请注明出处:CN_Simo. 导语: Qt是一个跨平台的C++图形界面应用程序框架.它提供给开发者建立图形用户界面所需的功能,广泛用于开发GUI程序,也可用于开发非GUI程序.Qt很容易扩展,并且 ...

  8. Qt入门之基础篇(三):掌握Qt4的静态编译基本方法

    转载载请注明出处:CN_Simo. 导语: 前两章都提到过“静态编译”(Static Compilation),在Windows下一次静态编译差不多需要长达三个小时才能完成,而且还非常容易由于各种原因 ...

  9. .NET Core实战项目之CMS 第五章 入门篇-Dapper的快速入门看这篇就够了

    写在前面 上篇文章我们讲了如在在实际项目开发中使用Git来进行代码的版本控制,当然介绍的都是比较常用的功能.今天我再带着大家一起熟悉下一个ORM框架Dapper,实例代码的演示编写完成后我会通过Git ...

随机推荐

  1. 洛谷P2051 [AHOI2009]中国象棋(dp)

    题面 luogu 题解 \(50pts:\)显然是\(3\)进制状压\(dp\) \(100pts:\) 一行一行地考虑 \(f[i][j][k]\)表示前\(i\)行,有\(j\)列放了一个,有\( ...

  2. Go语言string包详解

    strings包实现了用于操作字符的简单函数. 查找操作 判断给定字符串s中是否包含子串substr, 找到返回true, 找不到返回false func Contains(s, substr str ...

  3. 求幂大法,矩阵快速幂,快速幂模板题--hdu4549

    hdu-4549 求幂大法.矩阵快速幂.快速幂 题目 M斐波那契数列 Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 65535/32768 ...

  4. (转)DB2高可用性灾难恢复

    DB2 HADR概述 原文:https://www.ibm.com/developerworks/cn/data/library/techarticles/dm-0508luojunkai/

  5. WebDriver+TestNG的一个典型例子

    想让测试更加灵活,1. 可以配置使用任意支持的浏览器进行测试:2. 配置所有Google的URL:3. 配置搜索的关键字.修改后的代码: public class GoogleTest { WebDr ...

  6. java中为什么重写equals时必须重写hashCode方法?

    在上一篇博文Java中equals和==的区别中介绍了Object类的equals方法,并且也介绍了我们可在重写equals方法,本章我们来说一下为什么重写equals方法的时候也要重写hashCod ...

  7. Java线程池及其底层源码实现分析

    1.相关类 Executors  ExecutorService   Callable   ThreadPool     Future 2.相关接口 Executor Executor接口的使用: p ...

  8. SQL基本操作(工作中够用了)

      以下文章内容都是我自己从平时学习SQL语言时整理而来,写这篇文章是希望我或大家在使用能更方便的查询. 如果有不完整或不正确的地方请大家指出~谢谢大家 基本SQL操作 创建数据库 CREATE DA ...

  9. pureMVC与strangeIoc框架对比

    前言 最近有机会了解到了StrangeIoc框架,就拿来跟自己比较熟悉的pureMVC进行一下简要的对比.这两套开源框架都是基于MVC模式的扩展,pureMVC是一个跨平台跨语言的MVC轻量级应用框架 ...

  10. 编译android源码遇到错误及其解决方法

    升级ubuntu的14.04后,android的源码又编译错误了,一下是错误说明赫解决方法: 1.make: *** [out/host/linux-x86/obj/EXECUTABLES/aidl_ ...