Java开发知识之Java编程基础
一丶Java的基础语法
每个语言都有自己的语法规范.例如C++ 入口点是main. 我们按照特定格式编写即可. Java也不例外.
Java程序的语法规范就是 Java是面相对象的. 以类为单位编写代码. 所以Java编写的代码都在类中,类是使用关键字 Class来定义的.
语法;
修饰符 class 类名 {
程序代码
}
修饰符就是权限.跟C++同等
public 公共的
private 私有的
protected 保护的
Java语法
1.Java的语句: Java语句以 分号结尾; 跟C++一样.
2.Java的大小写: Java严格区分大小写 class 不能写成 Class
3.Java编写的时候需要进行排版.也就是代码规范.不是必须的.但是一个好的程序员代码都是很规范的.
4.Java程序的字符串. 不能分成两行. 例如:
System.out.println("Hello
world");
可以一行写完: System.out.println("Hello World");
如果想两行展示. 需要用 + 运算符进行连接(+ 如果是C++就是进行了运算符重载了 Java隐藏了.默认是这个功能.)
System.out.println("Hello" +
"World");
二丶Java中的注释
不管任何语言,如果编写代码.都会有注释的功能.方便程序员进行查阅.
1.单行注释: // 使用 // 可以注释一行. C++同等.
2.多行注释: /*.....*/ 跟C++同等.
3.文档注释: Java中出了文档注释,也就是说可以生成参考文档.让程序员看.C++中没有,Java特有的.
/** .....*/ 开头使用/** 结束使用*/ 中间就是进行的文档注释.
注释注意的问题:
Java中允许多行注释中使用单行注释. 但是多行注释中不允许使用多行注释嵌套.
例如:
/*
int Value = 10; //一个值赋值为10 使用了嵌套单行注释
*/
/*
/*
int Value = 10; 错误,不能使用嵌套多行注释
*/
*/
三丶Java中的标识符
标识符,标识符的意思就是起名字.但是起名字需要有规范.例如我们给变量起名字,需要遵循规范.
标识符:字母,下划线(_)数字 美元符号组成. 不能数字开头.不能是Java中的关键字.
例如:
A_B 可以使用的标识符
0_A 不可以使用,数字开头
CD_ 可以使用的标识符
_ap 可以使用的标识符
a5_c 可以使用的标识符,数字没有在开头
Java中的规范
1.包名的所有字母一律小写 包名后面会将.
2.类名以及接口名字,首字母要大写. 例如 Interface Dog Cat...
3.常量名字都要大写. 单词之间使用下划线拼接. 例如: A_DOG B_CAT...
4.变量名字以及方法名字第一个首字母小写.例如 int threeNumber; void eatFood()...
5.使用有意义的单词进行命名, 例如表示一个方法.是吃食物. 就用 eatFood()..
四丶Java中的关键字
Java跟C++一样.关键字差不多相同. 只不过部分关键字加强了.
break | ||||
case | const | |||
continue | ||||
float | ||||
goto | ||||
long | native | |||
new | ||||
try |
大致含义:
关键字 | 含义 |
abstract | 表明类或者成员方法具有抽象属性 |
assert | 断言,用来进行程序调试 |
boolean | 基本数据类型之一,布尔类型 |
break | 提前跳出一个块 |
byte | 基本数据类型之一,字节类型 |
case | 用在switch语句之中,表示其中的一个分支 |
catch | 用在异常处理中,用来捕捉异常 |
char | 基本数据类型之一,字符类型 |
class | 声明一个类 |
const | 保留关键字,没有具体含义 |
continue | 回到一个块的开始处 |
default | 默认,例如,用在switch语句中,表明一个默认的分支 |
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 | 用在循环结构中 |
五丶Java中的常量说明
1. 整形常量
常量就是固定不变的值.不能改变的数据. 整形常量由二进制 八进制 十进制 十六进制组成
例如:
0b0010 JDK 7.0 以后 0b 开头表示二进制
0x15FC0 0x开头代表的是十六进制
100 直接的数值是 十进制
0754 0零开头的代表是八进制. 范围0-7
2.浮点常量
浮点分为单精度跟双精度. 对应类型 float double
单精度后面加 F或者f结尾.
3.14f 3.35F
双精度 D 或者 d结尾
1.678D 9.888d
如果不加结尾.Jvm虚拟机默认是一个双精度小数.
指数 2e3f
3.字符常量
一个字符常量是由半角的 ''单引号来组成
例如:
'a' '1'
'\u0000' 表示一个空字符.
Java使用UNICODE字符集来表示.所以可以这样使用.
4.字符串常量
表示一连串的字符. 使用双引号
例如:
"HelloWorld" "abc"
5.布尔常量
true 或者 false true代表真. false代表假
6.null常量
表示一个对象为null 也就是对象不指向任何地方. 如果是C++ 就是一个指针为NULL. 并没有指向内存.
六丶JAVA其他需要了解的知识
1.JAVA中的数据类型
long定义的字节大小是8个字节. 也就是64位. 定义的变量需要加L 结尾 例如: long Value = 10L;
2.java中的类型转换
java中类型转换有两种 隐示转换. 显示转换 .跟C++一样. 隐示转换就是 小类型转换为大类型不需要特殊声明
例如:
byte b = 10;
int a = b; 程序把byte的b转为int类型了 因为小类型转为大类型因为取值范围的不会丢失.所以可以转换.不会丢失数据.
大类型转为小类型就要进行转换了. 也叫做强制类型转换
语法: 目标类型 变量 = (目标类型)变量 跟C++一样
例如:
java:
int a = 10;
byte b = (byte)a; 将a转为byte类型
C++:
int a = 10;
char b = (char) a; a转为char类型.
表达式中会自动进行隐士转换. 当我们进行计算的时候. byte类型会自动转换为int类型.
例如:
byte a = 1;
byte b = 2;
byte c = a +b; a 跟 b都转为int了.所以程序会出错.
解决方法:
byte c = (byte)(a +b);
3.java中的运算符
java中的运算符跟C++一样的.
算术运算符: + - * / % ++ 正号(+) 负号(-)
赋值运算符: = += -= /= *= %= 以加等于为例子 += 就是缩写. byte b +=10. 也可以写成 byteb = b + 10;
比较运算符: == != < > <= >=
逻辑运算符: & | ! ^ && || 与(且) 或 非 异或 双与(且) 双或者
& 与 && 的区别.
& 两边表达式都会进行计算. 不管左边是否为真或者为假. 例如: x >3 & x <4
&& 左边为false了右边就进行计算了.
位运算 & | ~ ^ << >> >>> 与 或 取反 异或 左移 右移 无符号右移 无符号右移C++中没有.