Java基本语法
Java程序的基本结构
Java程序的源码文件是Xxx.java 文件要求代码类名和文件名一致,(一般要求首字母大写,从第二个单词首字母大写(驼峰命名法))。
所有命名规则必须遵循以下规则:
1)、名称只能由字母、数字、下划线、$符号组成
2)、不能以数字开头
3)、名称不能使用JAVA中的关键字。
4)、坚决不允许出现中文及拼音命名。
Java修饰符
像其他语言一样,Java可以使用修饰符来修饰类中方法和属性。主要有两类修饰符:
访问控制修饰符 : default, public , protected, private
非访问控制修饰符 : final, abstract, static, synchronized
Java注释
1)单行注释 //
2)多行注释 /* */
3)文档注释 /** … */ 一般写在类、成员变量,方法的声明上
class Tation{
/**
* 程序入口
*/
public static void main(String[] args) {
int a=10;
int b=20;
//单行注释
String name="小张";
System.out.println("a+b");
/* 多行注释
System.out.println("a+b");
System.out.println("a+b");*/
System.out.println(name+"是个程序员");
}
}
Java 空行
空白行或者有注释的行,Java 编译器都会忽略掉。
Java基本类型
Java的八种基本类型:(按字节来分)
boolean 布尔型 1个字节 8bit(8位)
byte 字节类型 1个字节
char 字符类型 2个字节
short 短整型 2个字节
int 整型 4个字节
float 浮点型(单精度)4个字节
long 长整型 8个字节
double 双精度类型 8个字节
Java中默认的整数类型是int,如果要定义为long ,则要在数值后加上L或者l
默认的浮点型是双精度浮点,如果要定义float,则要在数值后面加上f或者F
一个字节等于8位,1个字节等于256个数。2^8
一个英文字母或者阿拉伯数字占一个字节
一个汉字占2个字节。
一个 Java 程序可以认为是一系列对象的集合,而这些对象通过调用彼此的方法来协同工作。下面简要介绍下类、对象、方法和实例变量的概念。
对象:对象是类的一个实例,有状态和行为。例如,一条狗是一个对象,它的状态有:颜色、名字、品种;行为有:摇尾巴、叫、吃等。
类:类是一个模板,它描述一类对象的行为和状态。
方法:方法就是行为,一个类可以有很多方法。逻辑运算、数据修改以及所有动作都是在方法中完成的。
实例变量:每个对象都有独特的实例变量,对象的状态由这些实例变量的值决
Java项目打包为.jar包
以数学运算为例,先编写一个Java程序(使用软件为 Idea)
public class Test2 {
public static void main(String[] args) {
int a=Integer.valueOf(args[0]);
int b=Integer.valueOf(args[1]);
/* int a=10;
int b=3;*/
if(a%b==0){
System.out.printf("%d ÷ %d = %d",a,b,a/b);
}
else{
System.out.printf("%d ÷ %d = %d...%d",a,b,a/b,a%b);
}
}
}
打开需要打包的文件,点击右上角的设置按钮,选择Project Structure选项
在打开的窗口选择 Artifacts选项
上述完成后在菜单栏找到 Build 选择 Build Artifacts
点击之后,在out文件中会出现打包文件
选中文件,复制到想存放的文件夹中,在地址栏输入cmd
这样打包文件就说明成功了。
Java标识符、关键字、保留字
Java标识符(Identifier)概述
在编程语言中,标识符就是程序员自己规定的代表一定含义的单词(java源程序当中凡是程序员自己有权利修改的名字),比如类名,属性名,变量名等。
Java标识符都可以标识什么
在java源程序当中,标识符可以用来标识:类名和接口名、变量名、方法名、常量名等。
Java标识符命名规则
命名规则是必须遵守的语法规则,当编写源程序的时候标识符违背命名规则,编译时会报错。那么java中的标识符命名规则有哪些呢?
● 标识符只能由数字、字母、下划线“_”、美元符号“$”组成,不能含有其它符号。
● 标识符不能以数字开始。
● java关键字和保留字不能作为标识符。
● 标识符严格区分大小写。
● 标识符理论上没有长度限制。
以上几点需要记忆。
Java标识符命名规范
当程序不遵守命名规范的时候,不影响程序的编译,但如果编写时没有遵守命名规范,也就是说大家都这么写,你不按照这种套路来,那你就属于比较另类的那一种,或者说是没有任何开发经验的程序员。我们会发现当遵守了命名规范之后,程序的可读性会变的很好,所以有的时候我们会觉得规范比规则更重要。那么java中标识符的命名规范有哪些呢?
● 见名知意。(看到这个单词就知道它表示什么)
● 遵循驼峰命名方式。(单词界线更明确)
● 类名、接口名首字母大写,后面每个单词首字母大写。
● 变量名、方法名首字母小写,后面每个单词首字母大写。
● 常量名全部大写,单词和单词之间使用“_”衔接。
Java关键字(keyword)
byte | short | int | long | float |
---|---|---|---|---|
double | boolean | char | if | for |
else | while | do | continue | break |
public | default | protected | private | throw |
throws | try | catch | final | finally |
case | switch | transient | package | new |
static | this | true | false | native |
goto | super | extends | implements | import |
instanceof | return | synchronized | void | const |
class | enum | assert | interface | volatile |
Java关键字的含义
关键字 | 含义 |
---|---|
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](https://baike.baidu.com/item/IEEE 754)算术规范 |
super | 表明当前对象的父类型的引用或者父类型的构造方法 |
switch | 分支语句结构的引导词 |
synchronized | 表明一段代码需要同步执行 |
this | 指向当前实例对象的引用 |
throw | 抛出一个异常 |
throws | 声明在当前定义的成员方法中所有需要抛出的异常 |
transient | 声明不用序列化的成员域 |
try | 尝试一个可能抛出异常的程序块 |
void | 声明当前成员方法没有返回值 |
volatile | 表明两个或者多个变量必须同步地发生变化 |
var | java10新增的关键字,用来推断类型 var i = 20; |
while | 用在循环结构中 |
关键字不需要去死记硬背,随着后面内容的学习,每一天的积累,不断的敲代码,总有一天你会掌握所有的关键字。
分组
关键字一律用小写字母标识,按其用途划分为如下几组。
1、用于数据类型。
用于数据类型的关键字有 boolean、byte、char、 double、 false、float、int、long、new、short、true、void、instanceof。
2、用于语句。
用于语句的关键字有break、case、 catch、 continue、 default 、do、 else、 for、 if、return、switch、try、 while、 finally、 throw、this、 super。
3、用于修饰
用于修饰的关键字有 abstract、final、native、private、 protected、public、static、synchronized、transient、 volatile。
4、用于方法、类、接口、包和异常。
用于方法、类、接口、包和异常的关键字有 class、 extends、 implements、interface、 package、import、throws。
还有些关键字,如cat、 future、 generic、innerr、 operator、 outer、rest、var等都是Java保留的没有意义的关键字。
另外,Java还有3个保留字:true、false、null。它们不是关键字,而是文字。包含Java定义的值。和关键字一样,它们也不可以作为标识符使用。
ps: Java语言有没有 goto、const语句? (没有)
Java保留字(reserved word)
Java保留字:现有Java版本尚未使用,但以后版本可能会作为关键字使用。自己命名标识符时要避免使用这些保留字。
例如:goto 、const