java基本概念

一、java基础语法篇-基本概念

开始学习java

1、什么是java?

Java 是由Sun Microsystems公司于1995年5月推出的高级程序设计语言,目前由Oracle拥有。

Java 可运行于多个平台,如Windows, Mac OS,及其他多种UNIX版本的系统。

Java 是平台无关的语言,用Java编写的应用程序不用修改就可以在不同的平台上运行。

PS:Java 实现了 “一次编写,到处运行” 的机制。

 


2、Java 介绍

 

Java 无处不在,据估计,全球范围内有超过30亿台设备运行Java。

Java 具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点,能够适应几乎任何类型的应用程序的需求。

Java 被用于为谷歌的Android操作系统的应用程序,各种桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等。

 

3、编写第一个Java程序

让我们编写一个简单的Java程序,它将在屏幕上打印“Hello World”。

public class MyJavaClass {
  public static void main(String[] args) {
    System.out.println("Hello World");
  }
}

在上面的例子中,我们命名了类 MyJavaClass。您将在后面的章节中了解更多关于类的知识。

在Java中,每个应用程序都有一个入口点或一个起点,这是一个名为main的方法。

 

提示:

(1)每个Java程序都必须包含一个类。

(2)每个Java程序都从main方法开始。

 

4、main 方法

在Java中,main方法必须采用此方法签名: 

JAVA概念简介 java基本概念_运算符

 

 

public static void main(String[] args)
  • 访问修饰符 public: 表示任何人都可以访问它
  • 静态修饰符 static: 表示该方法可以在不创建包含main方法的类的实例的情况下运行
  • 返回值类型 void : 表示该方法不会返回任何值
  • 方法名 main:  main是主方法的默认方法名

提示方法的参数在方法名称后面的括号内声明,对于main来说,这是一个名为args的字符串数组。

 

5、System.out.println()

下面是main()方法的主体,用花括号括起来:

JAVA概念简介 java基本概念_Java_02

主体部分:

{
  System.out.println("Hello World!");
}

 

println 方法在屏幕上打印一行文本。

System 类及其输出流用于访问println方法。

 

提示:在类,方法和其他流控制结构中,代码总是用花括号括起来{}。

 

6、Java中的分号

您可以将不同的文本作为参数传递给println方法来进行打印。

public class MyJavaClass {
  public static void main(String[] args) {
    System.out.println("I am learning Java");
  }
}

 

尝试一下

 

在Java中,每个代码语句必须以分号结尾。但记住,不要在使用花括号定义的主体后面的方法和类声明之后使用分号。

 

 

7、Java 基本语法

在编写Java程序时,我们应注意以下几点:

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

 

提示切记Java是大小写敏感的,Java文件名和类名如果不相同则会导致编译错误。

 

 

 

 

8、Java 标识符

 

在Java中,类名、变量名以及方法名都被称为标识符。关于Java标识符,我们应该注意以下几点:

  • 标识符由字母、美元符、下划线或数字组成。
  • 标识符应以字母、美元符、下划线开始。
  • Java标识符是大小写敏感的,长度无限制。
  • 不能使用关键字作为Java标识符,关键字如class、void等等。

下面是标识符举例:

 合法的标识符

 不合法的标识符

 age

 123abc

 $salary

 -salary





9、Java关键字

Java关键字是对Java编译器有特殊含义的字符串,是编译器和程序员的一个约定,程序员利用关键字来告诉编译器其声明的变量类型、类、方法特性等信息。Java语言共定义了如下所示的关键字。 

JAVA概念简介 java基本概念_操作数_03

 

关键字与含义  

这边仅做简单了解有个印象即可, 后面我们将学习到它们。

关键字

含义

abstract

表明类或者成员方法具有抽象属性

assert

断言,用来进行程序调试

boolean

基本数据类型之一,声明布尔类型的关键字

break

提前跳出一个块

byte

基本数据类型之一,字节类型

case

用在switch语句之中,表示其中的一个分支

catch

用在异常处理中,用来捕捉异常

char

基本数据类型之一,字符类型

class

声明一个类

const

保留关键字,没有具体含义

continue

回到一个块的开始处

default

默认,例如,用在switch语句中,表明一个默认的分支。Java8 中也作用于声明接口函数的默认实现

do

用在do-while循环结构中

double

基本数据类型之一,双精度浮点数类型

else

用在条件语句中,表明当条件不成立时的分支

enum

枚举

extends

表明一个类型是另一个类型的子类型。对于类,可以是另一个类或者抽象类;对于接口,可以是另一个接口

final

用来说明最终属性,表明一个类不能派生出子类,或者成员方法不能被覆盖,或者成员域的值不能被改变,用来定义常量

finally

用于处理异常情况,用来声明一个基本肯定会被执行到的语句块

float

基本数据类型之一,单精度浮点数类型

for

一种循环结构的引导词

goto

保留关键字,没有具体含义

if

条件语句的引导词

implements

表明一个类实现了给定的接口

import

表明要访问指定的类或包

instanceof

用来测试一个对象是否是指定类型的实例对象

int

基本数据类型之一,整数类型

interface

接口

long

基本数据类型之一,长整数类型

native

用来声明一个方法是由与计算机相关的语言(如C/C++/FORTRAN语言)实现的

new

用来创建新实例对象

package


private

一种访问控制方式:私用模式

protected

一种访问控制方式:保护模式

public

一种访问控制方式:共用模式

return

从成员方法中返回数据

short

基本数据类型之一,短整数类型

static

表明具有静态属性

strictfp

用来声明FP_strict(单精度或双精度浮点数)表达式遵循IEEE 754算术规范

super

表明当前对象的父类型的引用或者父类型的构造方法

switch

分支语句结构的引导词

synchronized

表明一段代码需要同步执行

this

指向当前实例对象的引用

throw

抛出一个异常

throws

声明在当前定义的成员方法中所有需要抛出的异常

transient

声明不用序列化的成员域

try

尝试一个可能抛出异常的程序块

void

声明当前成员方法没有返回值

volatile

表明两个或者多个变量必须同步地发生变化

while

用在循环结构中

 


10、Java 注释

您可以在Java代码中包含注释,这将提高源代码的可读性。 

Java 支持单行以及多行注释。注释中的字符将被 Java 编译器忽略。

Java 单行注释以 // 开始,直到行尾为止。例如:

// 这是一个单行注释
x = 10; // 代码后的单行注释

单行注释也能以 /* 开始,以 */为止。例如:

/* 这也是一个单行注释 */

 

提示:在编写代码时添加注释是一种很好的做法,因为当你需要回顾它时,以及其他人可能需要阅读它时,它们提供了解释和理解。

Java 多行注释

Java 也支持跨多行的注释。

Java 多行注释以 /* 开始,以 */为止。例如:

/*  这是一个
 *  多行注释 
 */

 

请注意,Java 不支持嵌套的多行注释,但是,您可以在多行注释中嵌套单行注释。例如:

/* 嵌套单行注释
   // 单行注释
 */

 

Java 文档注释

文档注释允许你在程序中嵌入关于程序的信息。你可以使用 javadoc 工具软件来生成信息,并输出到HTML文件中。

文档注释,使你更加方便的记录你的程序信息。

 

Java 文档注释以 /** 开始,以 */结束。例如:

/** 这是一个文档注释 */

/** 这也是一个
    文档注释 */

 

在开始的 /** 之后,第一行或几行是关于类、变量和方法的主要描述。

之后,你可以包含一个或多个各种各样的@标签。每一个@标签必须在一个新行的开始或者在一行的开始紧跟星号(*).

下面是一个类的说明注释的实例:

/**
* 这个类演示了文档注释
* @author w3cschool
* @version 1.0
*/

 

11、变量

什么是变量?变量是一个内存中的小盒子(小容器),容器是什么?生活中也有很多容器,例如: 水杯是容器,用来装载水;衣柜用来装载衣裤;那么变量是装载什么的呢?是数据!所以:变量是内存中装载数据的小盒子,你只能用它来存数据和取数据。


变量被赋予名称(或标识符),例如:name,age,high等。该名称唯一标识每个变量,用来为变量赋值或检索存储的值。

在Java中,变量有各种类型。下面是一些例子:

  • int:整数,如123和-456。
  • double:浮点数,可选小数点和小数部分,如3.1416,-11.22。
  • String:如 “Hello” 或 “Good Morning!” 等文本。文本字符串括在双引号内。

 

你可以声明一个类型的变量并赋值。例如:

String name = "Lu";

 

这将创建一个名为String类型的变量,并为其赋值“Lu”。

 

提示:一个变量与一个类型相关联,并且只能够存储该特定类型的值。



下面是一个变量声明的例子:

class MyJavaClass {
  public static void main(String[] args) {
    String name ="Lu";
    int age = 26;
    double score = 18.9;
    char group = 'B';
  }
}

char是字符类型,用来定义一个字符。

还有一种类型是布尔类型,它只有两个取值:true 和 false,这种类型只作为一种标志来记录 true/false 情况。

例如:

boolean online = true;

 

提示:可以使用逗号隔开声明多个同类型变量。例如:int a = 17, b = 30;

 

 

 

 

12、算术运算符

作为一门计算机语言,Java 也提供了一套丰富的运算符来操纵变量。

算术运算符用在数学表达式中,它们的作用和在数学中的作用一样,主要用于进行基本的算术运算,如:加法、减法、乘法、除法等。

下面列出了所有的算术运算符:

  • +(加法):相加运算符两侧的值,如 A + B。
  • -(减法):左操作数减去右操作数,如 A - B。
  • *(乘法):相乘操作符两侧的值,如 A * B。
  • /(除法):左操作数除以右操作数,如 B / A。
  • %(取模):左操作数除以右操作数的余数,如 B % A。
  • ++(自增): 操作数的值增加1,如 B++ 或 ++B 。
  • --(自减):操作数的值减少1,如 B-- 或 --B 。

 

提示:++ 和 -- 既可以出现在操作数的左边,也可以出现在右边,但结果是不同的。关于自增自减运算符的知识,我们将在后面的内容中进一步介绍。

 

加法、减法运算符

加法运算符

加法(+) 运算符将运算符两侧的值相加,可以是两个常量,一个常量和一个变量,或一个变量和一个变量。

下面列出了一些例子:

int sum1 = 30 + 20; 
int sum2 = sum1 + 10; 
int sum3 = sum1 + sum2;


减法运算符

减法(-) 运算符从左操作数减去右操作数。

下面列出了一些例子:

 

int sum1 = 50 - 20;
int sum2 = sum1 - 10;
int sum3 = sum1 - sum2;

 

 

乘法、除法运算符

乘法运算符

乘法(*) 运算符将运算符两侧的值相乘。

下面列出了一些例子:

int sum1 = 50 * 2;
int sum2 = sum1 * 10;
int sum3 = sum1 * sum2;

 


除法运算符

除法(/) 运算符从左操作数除以右操作数。

下面列出了一些例子:

int sum1 = 50 / 5;
int sum2 = sum1 / 2;
int sum3 = sum1 / sum2;

 

在上面的例子中,我们将 int 用作数据类型,运算符的结果将是整数。如果你需要检索带有小数点的值,你可以使用 double 数据类型。

 

 

取模运算符

取模(%) 运算符用来求余数,从左操作数除以右操作数的余数。

下面是一个例子:

int a = 11;
int b = a % 5; // b为1

在上面的例子中,将11除以5得到商为2,余数为1。因此,将值1赋值给b变量。

 

 

 

 

 

 

13、自增自减运算符

自增(++) 自减(--) 运算符是一种特殊的算术运算符,在算术运算符中需要两个操作数来进行运算,而自增自减运算符是一个操作数。

自增(++) 运算符将操作数的值增加1。下面是一个例子:

int a = 3;
++a; // 自增运算

进行自增运算后的a为4。

 

自减(--) 运算符将操作数的值减少1。下面是一个例子:

int b = 3;
--b; // 自减运算

进行自减运算后的b为2。

 

前缀和后缀自增自减

自增和自减运算符都可以使用前缀和后缀两种形式。

前缀自增自减法(++a,--a): 先进行自增或者自减运算,再进行表达式运算。

下面是一个例子:

int a = 5;
int b = ++a;

 

首先将a加1,a变为6,然后赋值给b,所以a和b的值现在是6。

 

 

后缀自增自减法(a++,a--): 先进行表达式运算,再进行自增或者自减运算 。

下面是一个例子:

int a = 5;
int b = a++;

 

首先将a赋值给b,然后将a加1,因此a变成6,而b的值是5。

 

 

赋值运算符

你可能已经熟悉基本的赋值运算符(=),它将右操作数的值赋给左侧操作数。

例如,在下面的例子中,将值3赋值给一个int类型的a变量。

int a = 3;

 

Java 支持许多赋值运算符,使编写代码更加容易。下面是一些赋值运算符的介绍。

加和赋值运算符 (+=):

int a1 = 2;
int a2 = 4;
a2 += a1; // 等价于 a2 = a2 + a1;

// 结果a2=6,a1=2

 

减和赋值运算符(-=):

int a1 = 2;
int a2 = 4;
a2 -= a1; // 等价于 a2 = a2 - a1;

// 结果a2=2,a1=2