Java 基础
标识符
- 所有的标识符都应该以字母(A-Z 或者 a-z)、美元符($)、或者下划线(_)开始
- 首字符之后可以是字母 (A-Z 或者 a-z)、美元符($)、下划线 (_)或者数字的任何字符组合
- 不能使用关键字作为变量名或者方法名
- 标识符是***大小写敏感的***
- 合法标识符举例:age、$salary、_value、__1_value
- 非法标识符举例:123abc、-salary、#abc
- ***可以使用中文命名,但是一般不建议这样去使用,也不建议使用拼音,很low
强制转换
- 不能对布尔值进行转换
- 不能把对象类型转化为不相干的类型吗
- 在把高容量转化到低容量的时候,强制转换
- 转换的时候可能存在内存溢出,或者精度问题
变量
-
变量是什么:就是可以变化的量!
-
Java是一种强类型语言,每个变量都必须声明其类型。
-
Java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用于。
type varName [=value] [{,varName[=value]}]; //数据类型 变量名 = 值;可以使用逗号隔开来声明多个同类型变量。
public class Variable { static int allClicks = 0; //类变量 String str = "Hello World"; //实例变量:从属于对象;如果不自行初始化,这个类型的默认值 0 0.0 false(布尔值) null(除了基本类型) public void method() { int i = 0; //局部变量:必须声明和初始化值 } }
-
注意事项:
- 每个变量都有类型,类型可以是基本类型,也可以是引用类型。
- 变量名必须是合法的标识符。
- 变量声明是一条完整的语句,因此每一个声明都必须以分号结束。
常量
-
常量:初始化后不能再改变值!不会变动的值
-
所谓常量可与理解成一种特殊的变量,它的值被设定后,在程序运行过程中不允许被改变。
final 常量名 = 值; final double PI = 3.14; //修饰符,不存在先后顺序 static final double PI = 3.14; //final staic double PI = 3.14;
-
常量名一般使用大写字符。
变量的命名规范
- 所有变量、方法、类名:见名知意
- 类成员变量:首字母小写和驼峰原则:monthSalary 除了第一个单词以外,以后的单词首字母大写 lastName
- 局部变量:首字母小写和驼峰原则
- 常量:大写字母和下划线:MAX_VALUE
- 类名:首字母大写和驼峰原则:Man,GoodMan
- 方法名:首字母小写和驼峰原则:run(), runProgram()
运算符
- 算数运算符:+, -, *, /, %, ++, –
- 赋值运算符:=
- 关系运算符:>, <, >=, <=, ==, ! = instanceof
- 逻辑运算符:&&, ||, !
- 位运算符:&, |, ^, ~, >>, <<, >>>
- 条件运算符:? :
- 扩展赋值运算符:+=, -=, *=, /=
//一元运算符
public class BinaryOperator
{
public class static void main(String[] args)
{
//++ -- 自增,自减 一元运算符
int a = 3;
int b = a++; //执行完这行代码后,先给b赋值,再自增
//a = a + 1;
int c = ++a; //执行完这行代码前,先自增,再给c赋值
//幂运算 2^3 2 * 2 * 2 = 8 很多运算,我们会使用一些工具类来操作!
double d = Math.pow(2, 3);
}
}
//位运算
public class BitOperator
{
public class static void main(String[] args)
{
/*
A = 0011 1100
B = 0000 1101
-------------
A & B = 0000 1100
A | B = 0011 1101
A ^ B = 0011 0001
~B = 1111 0010
<<左移 *2
>>右移 /2
0000 0000 0
0000 0001 1
0000 0010 2
0000 0011 3
0000 0100 4
0000 1000 8
0001 0000 16
*/
}
}
//三元运算符
public class TenaryOperator
{
public static void main(String[] args)
{
//x ? y : z
//如果x==true, 则结果为y, 否则结果为z
int score = 80;
String grade = score < 60 ?"Not Pass": "Pass";
System.out.println(grade)//Pass
}
}
包机制
-
为了更好地组织类,Java提供了包机制,用于区别类名的命名空间
-
包语句的语法格式为:
package pkg1[. pkg2]. pkg3...]];
-
一般利用公司域名倒置作为包名;
www.baidu.com com.baidu.www
-
为了能够使用某一个包的成员,我们需要在Java程序中明确导入该包。使用”import“语句可完成此功能
import package1[.package2...].(classname|*);
JavaDoc
-
javadoc命令是用来生成自己API文档的
-
参数信息
- @author 作者名
- @version 版本号
- @since 指明需要最早使用的jdk版本
- @param 参数名
- @return 返回值情况
- @throws 异常抛出情况
/**
*@author Geollan
*@version 1.0
*@since 1.8
*/
public class Doc
{
String name;
/**
*@param name
*@return
*@throws Exception
*/
public String test(String name) throws Exception
{
return name;
}
}