Java教程的基础语法大汇总

开课吧开课吧锤锤2021-06-07 15:58

点赞
有用
分享分享

    一个Java程序可以认为是一系列对象的集合,而这些对象通过调用彼此的方法来协同工作。下面简要介绍下类、对象、方法和实例变量的概念。

Java

    对象:对象是类的一个实例,有状态和行为。例如,一条狗是一个对象,它的状态有:颜色、名字、品种;行为有:摇尾巴、叫、吃等。

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

    方法:方法就是行为,一个类可以有很多方法。逻辑运算、数据修改以及所有动作都是在方法中完成的。

    实例变量:每个对象都有独特的实例变量,对象的状态由这些实例变量的值决定。

    第一个Java程序

    下面看一个简单的Java程序,它将打印字符串HelloWorld

public class HelloWorld {
     /* 第一个Java程序
      * 它将打印字符串 Hello World
      */
     public static void main(String []args) {
         System.out.println("Hello World"); // 打印 Hello World
     }
 }
Hello World

    下面将逐步介绍如何保存、编译以及运行这个程序:

    打开Notepad,把上面的代码添加进去;

    把文件名保存为:HelloWorld.java;

    打开cmd命令窗口,进入目标文件所在的位置,假设是C:\

    在命令行窗口键入javacHelloWorld.java按下enter键编译代码。如果代码没有错误,cmd命令提示符会进入下一行。(假设环境变量都设置好了)。

    再键入javaHelloWorld按下Enter键就可以运行程序了

    你将会在窗口看到HelloWorld

C : > javac HelloWorld.java
C : > java HelloWorld 
Hello World

    基本语法

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

    大小写敏感:Java是大小写敏感的,这就意味着标识符Hello与hello是不同的。

    类名:对于所有的类来说,类名的首字母应该大写。如果类名由若干单词组成,那么每个单词的首字母应该大写,例如MyFirstJavaClass。

    方法名:所有的方法名都应该以小写字母开头。如果方法名含有若干单词,则后面的每个单词首字母大写。

    源文件名:源文件名必须和类名相同。当保存文件的时候,你应该使用类名作为文件名保存(切记Java是大小写敏感的),文件名的后缀为.java。(如果文件名和类名不相同则会导致编译错误)。

    主方法入口:所有的Java程序由publicstaticvoidmain(Stringargs[])方法开始执行。

    Java标识符

    Java所有的组成部分都需要名字。类名、变量名以及方法名都被称为标识符。

    关于Java标识符,有以下几点需要注意:

    所有的标识符都应该以字母(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枚举

    Java5.0引入了枚举,枚举限制变量只能是预先设定好的值。使用枚举可以减少代码中的bug。

    例如,我们为果汁店设计一个程序,它将限制果汁为小杯、中杯、大杯。这就意味着它不允许顾客点除了这三种尺寸外的果汁。

class FreshJuice {
   enum FreshJuiceSize{ SMALL, MEDUIM, LARGE }
   FreshJuiceSize size;
}
 
public class FreshJuiceTest {
   public static void main(String args[]){
      FreshJuice juice = new FreshJuice();
      juice.size = FreshJuice. FreshJuiceSize.MEDUIM ;
   }
}

    注意:枚举可以单独声明或者声明在类里面。方法、变量、构造函数也可以在枚举中定义。

    Java关键字

    下面列出了Java保留字。这些保留字不能用于常量、变量、和任何标识符的名称。

关键字 描述
abstract 抽象方法,抽象类的修饰符
assert 断言条件是否满足
boolean 布尔数据类型
break 跳出循环或者label代码段
byte 8-bit 有符号数据类型
case switch语句的一个条件
catch 和try搭配扑捉异常信息
char 16-bit Unicode字符数据类型
class 定义类
const 未使用
continue 不执行循环体剩余部分
default switch语句中的默认分支
do 循环语句,循环体至少会执行一次
double 64-bit双精度浮点数
else if条件不成立时执行的分支
enum 枚举类型
extends 表示一个类是另一个类的子类
final 表示一个值在初始化之后就不能再改变了
表示方法不能被重写,或者一个类不能有子类
finally 为了完成执行的代码而设计的,主要是为了程序的健壮性和完整性,无论有没有异常发生都执行代码。
float 32-bit单精度浮点数
for for循环语句
goto 未使用
if 条件语句
implements 表示一个类实现了接口
import 导入类
instanceof 测试一个对象是否是某个类的实例
int 32位整型数
interface 接口,一种抽象的类型,仅有方法和常量的定义
long 64位整型数
native 表示方法用非java代码实现
new 分配新的类实例
package 一系列相关类组成一个包
private 表示私有字段,或者方法等,只能从类内部访问
protected 表示字段只能通过类或者其子类访问
子类或者在同一个包内的其他类
public 表示共有属性或者方法
return 方法返回值
short 16位数字
static 表示在类级别定义,所有实例共享的
strictfp 浮点数比较使用严格的规则
super 表示基类
switch 选择语句
synchronized 表示同一时间只能由一个线程访问的代码块
this 表示调用当前实例
或者调用另一个构造函数
throw 抛出异常
throws 定义方法可能抛出的异常
transient 修饰不要序列化的字段
try 表示代码块要做异常处理或者和finally配合表示是否抛出异常都执行finally中的代码
void 标记方法不返回任何值
volatile 标记字段可能会被多个线程同时访问,而不做同步
while while循环

    Java注释

    类似于C/C++,Java也支持单行以及多行注释。注释中的字符将被Java编译器忽略。

public class HelloWorld {
   /* 这是第一个Java程序
    *它将打印Hello World
    * 这是一个多行注释的示例
    */
    public static void main(String []args){
       // 这是单行注释的示例
       /* 这个也是单行注释的示例 */
       System.out.println("Hello World"); 
    }
}

    Java空行

    空白行,或者有注释的的行,Java编译器都会忽略掉。

    继承

    在Java中,一个类可以由其他类派生。如果你要创建一个类,而且已经存在一个类具有你所需要的属性或方法,那么你可以将新创建的类继承该类。

    利用继承的方法,可以重用已存在类的方法和属性,而不用重写这些代码。被继承的类称为超类(superclass),派生类称为子类(subclass)。

    接口

    在Java中,接口可理解为对象间相互通信的协议。接口在继承中扮演着很重要的角色。

    接口只定义派生要用到的方法,但是方法的具体实现完全取决于派生类。

   常量

    常量概念

    常量:在程序的执行过程中,其值不会发生改变的量(数据)

Java

    常量分类

常量类型   说明 举例
用双引号括起来的内容 字符串常量 “HelloWorld”,“开课吧”
整数常量 不带小数的数字 不带小数的数字
小数常量 小数常量 13.14,-5.21
字符常量 用单引号括起来的内容 ‘A’,‘0’, ‘我’
布尔常量 布尔值,表示真假 只有两个值:true,false
空常量 一个特殊的值,空值 值是:null

    变量介绍

    为什么要有变量

    变量是用来存放数据的,如果没有变量,那么数据就无法存放。

    什么是变量

    当程序运行的时候,数据是存放在内存当中的,每一个数据就是一个内存地址,变量就是指向这个内存地址的。

    怎样定义变量

    变量的定义格式inta=2;

Java

    数据类型

    计算机存储单元

    我们知道计算机是可以用来存储数据的,但是无论是内存还是硬盘,计算机存储设备的最小信息单元叫“位(bit)”,我们又称之为“比特位”,通常用小写的字母”b”表示。而计算机中最小的存储单元叫“字节(byte)”,通常用大写字母”B”表示,字节是由连续的8个位组成。

    除了字节外还有一些常用的存储单位,大家比较熟悉,我们一起来看看:

    1B(字节)=8bit

    1KB=1024B

    1MB=1024KB

    1GB=1024MB

    1TB=1024GB

    1PB=1024TB

    ……

    数据类型

    Java语言是强类型语言,对于每一种数据都给出了明确的数据类型,不同的数据类型也分配了不同的内存空间,所以它们表示的数据大小也是不一样的。

Java

    数据类型内存占用和取值范围

Java

   变量的定义和使用

    变量的定义

    1、变量的定义

    数据类型变量名=数据值;

    2、整数,小数,字符,布尔类型变量的定义

int a = 1;

double b = 2.23;

char c = 'c';

boolean d = true;

    变量的使用

    1、如何使用变量?

int a = 10;
int b = 20;

    2、根据标识,变量名进行使用

修改值 :a = 30;
打印值 :System.out.println(a);

    变量的使用详解

 

Java

 

    变量的注意事项

    1、变量的注意事项

    2、一条语句可以定义多个变量

    3、变量在使用之前一定要进行赋值

    4、定义float和long变量的注意事项

    5、变量的作用域范围

    键盘录入

    键盘录入介绍

    为什么要有键盘录入?

    目的:为了让我们操作的数据,变得更加灵活

    举例:inta=10;

    a虽然是个变量,但记录的值,却是手动写死的。

    能不能让a变量记录的值,灵活起来,用户输入什么,a变量就记录什么。

    键盘录入实现

    实现键盘录入的三个步骤?

    1、导包

import java.util.Scanner;
导包的动作必须出现在类定义的上边

    2、创建对象

Scanner sc = new Scanner(System.in);
上面这个格式里面,只有sc是变量名,可以变,其他的都不允许变。

    3、接收数据

int i = sc.nextInt();
上面这个格式里面,只有i是变量名,可以变,其他的都不允许变。

    标识符

    标识符概述

    标识符:就是给类,方法,变量等起名字的符号。

    标识符定义规则

    1、由数字、字母、下划线(_)和美元符($)组成

    2、不能以数字开头

    3、不能是关键字

    4、区分大小写

    常见命名约定

    小驼峰命名法:方法、变量

    1、约定1:标识符是一个单词的时候,首字母小写

    2、范例1:name

    3、约定2:标识符由多个单词组成的时候,第一个单词首字母小写,其他单词首字母大写

    4、范例2:firstName

    大驼峰命名法:类

    1、约定1:标识符是一个单词的时候,首字母大写

    2、范例1:Student

    3、约定2:标识符由多个单词组成的时候,每个单词的首字母大写

    4、范例2:GoodStudent

    类型转换

int a = 1;
double b = 2.3;
? c = a + b;
//那么c是什么类型?

    类型转换的分类

    1、隐式转换

    2、强制转换

    隐式转换的过程

    把一个表示数据范围小的数值或者变量赋值给另一个表示数据范围大的变量

    范例:doubled=10;

    简单记:小的给大的,可以直接给。

    int4个字节

    double8个字节

    4升的油,倒入8升的桶,可以直接倒入

Java

    隐式转换的细节

    小的数据类型,和大的数据类型运算,小的会提升为大的之后,再进行运算

Java

    特殊关注:byteshortchar三种数据在运算的时候,不管是否有更高的数据类型,都会提升为int,然后再进行运算

Java

    强制转换的过程

    1、强制转换

    把一个表示数据范围大的数值或者变量赋值给另一个表示数据范围小的变量

    2、格式:目标数据类型变量名=(目标数据类型)值或者变量;

    3、范例:intk=(int)88.88;

    注意:强制类型转换,有可能会发生精度损失

    精度损失:简单理解,将容积为8升的容器中的水,倒入容积为4升的容器中,如果水超出了4升,就洒了。

    类型转换案例

    请判断下列代码是否存在问题,如果有,请指出并修正。

Java

    第3问题:a和b是两个byte类型,当(byteshortcharint)在一起运算的时候,会先提升为int,然后再进行运算。两个int相加后的结果,还是int类型,将int赋值给byte需要强制类型转换。

    第4问题:没有问题

    byted=3+4;为什么不会出现错误?

    因为3和4,是两个常量,Java中存在【常量优化机制】常量优化机制:在编译时(javac),就会将3和4计算出一个7的结果,并且会自动判断该结果是否在byte取值范围内在:编译通过不在:编译失败

    以上就是小编为大家整理的的“Java教程的基础语法大汇总”一文,更多Java教程相关内容尽在开课吧广场Java教程频道!

免责声明:本站所提供的内容均来源于网友提供或网络搜集,由本站编辑整理,仅供个人研究、交流学习使用。如涉及版权问题,请联系本站管理员予以更改或删除。
有用
分享