编写第一个JAVA代码
package CH01_JAVABase; //hange The World! public class XZ01_ChangeTheWorld { public static void main(String[] args) { System.out.println("Change The World!"); //Change The World! } }
语句 | 说明 | 快捷语句 |
---|---|---|
public static void main(String[] args) { } | Main函数程序主入口 | main/psvm |
System.out.println(); | 输出语句 | sout |
JAVA八大基本数据类型
package CH01_JAVABase; //八大数据类型 public class XZ02_DataType { public static void main(String[] args) { int num1 = 1; byte num2 = 1; short num3 = 1; long num4 = 1L; //整数型 double num5 = 1.1; float num6 = 1f; //浮点型 char ch = 'a'; //单字符 boolean is = false; //布尔型 //八大基本数据类型 String string = "hello world"; //引用型,不属于基本数据类型 System.out.println("num1:" + num1); System.out.println("num2:" + num2); System.out.println("num3:" + num3); System.out.println("num4:" + num4); System.out.println("num5:" + num5); System.out.println("num6:" + num6); System.out.println("ch:" + ch); System.out.println("is:" + is); System.out.println("string:" + string); } }
数据类型转换
package CH01_JAVABase; //数据类型转换 public class XZ03_TypeConversion { public static void main(String[] args) { int a = 1; double b = a; System.out.println(b); //隐式数据类型转换,自动转换 char c = 'a'; int d = c; System.out.println(d); //显式数据类型转换转换变量前加 (转换类型) System.out.println("================"); char e = 'a'; int f = c + 1; System.out.println(f); System.out.println((char) f); } }
注意点:
-
不能对布尔值进行转换
-
不能把对象类型转换为不相干的类型
-
在把高容量转换到低容量的时候,强制转换
-
转换的时候可能存在内存溢出,或者精度问题!
注释
package CH01_JAVABase; //注释 public class XZ04_Annotate { public static void main(String[] args) { //System.out.println(1); //单行注释 只能注释一行 //被注释掉的代码不会执行 /* System.out.println(1); System.out.println(2); System.out.println(3); */ /* 多行 注释 */ /** *JavaDoc *文档注释 */ } /** * @author XuanZi (作者) */ public void test() { } }
Javadoc命令是用来生成自己API文档的 JavaAPI帮助文档:Java Platform, Standard Edition Documentation - Releases Java8API帮助文档:Java Platform SE 8
参数信息
参数 | 描述 |
---|---|
@author | 作者名 |
@version | 版本号 |
@since | 指明需要最早使用的jdk版本 |
@param | 参数名 |
@return | 返回值情况 |
@throws | 异常抛出情况 |
变量
package CH01_JAVABase; //变量 public class XZ05_Variable { static String str = "XuanZi"; //类变量 //成员变量 int age; //默认值 0 String Sex = "男"; //默认值null boolean IsNull; //默认值false public static void main(String[] args) { //局部变量 int value = 1; String name = "玄子"; //创建类的对象调用方法 XZ05_Variable variable = new XZ05_Variable(); System.out.println(name); //输出局部变量 variable.set(); //调用类方法 System.out.println(variable.IsNull); //实例变量需要创建对象后才能调用 System.out.println(str); //类变量可直接调用 } public void set() { String conn = "XuanZiShare"; //局部变量 System.out.println(age); System.out.println(Sex); System.out.println(conn); } }
-
变量是什么:
-
就是可以变化的量
-
Java是一种强类型语言,每个变量都必须声明其类型
-
Java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域
-
-
注意事项:
-
每个变量都有类型,类型可以是基本类型,也可以是引用类型
-
变量名必须是合法的标识符
-
变量声明是一条完整的语句,因此每一个声明都必须以分号结束
-
常量
package CH01_JAVABase; //常量 public class XZ06_Constant { // final 数据类型 常量名 = 值; public static final double PI = 3.14; //修饰符,不存在先后顺序 public static void main(String[] args) { System.out.println(PI); } }
-
常量(Constant):
-
初始化(initialization)后不能再改变值!不会变动的值。
-
所谓常量可以理解成一种特殊的变量,它的值被设定后,在程序运行过程中不允许被改变。
-
常量名一般使用大写字符。
-
运算符
package CH01_JAVABase; //运算符 public class XZ07_OperationalCharacter { public static void main(String[] args) { int num1 = 1; int a = 10; int b = 20; double num2 = 2.5; char A = 'A'; char B = 'B'; System.out.println("=========赋值运算符==========="); System.out.println(num1 - num2); System.out.println(a += b); System.out.println(a); //自身改变 // = += -= *= /= %= // 赋值 加等 减等 乘等 除等 余等 //赋值运算符 System.out.println("=======算数运算符============="); System.out.println(num1++);// 1 // mum1 + 1 上一句输出后才+1 2 // 1 + mum1 下一句输出前就+1 3 System.out.println(++num1);// 3 // + - * / % ++ -- // 加 减 乘 除 余 自增 自减 //算数运算符 System.out.println("============比较运算符============"); System.out.println(num1 <= num2); // > < >= <= != == // 大于 小于 大于等于 小于等于 不等于 等等于 //比较运算符 System.out.println("===========逻辑运算符==============="); System.out.println(num1 > num2 || num2 > num1); //两个条件一个为真就返回true //如果第一个条件就为假直接返回false,不再判断第二个条件 System.out.println(num1 > num2 && num2 > num1); //两个条件均为真才返回true System.out.println(!(num1 > num2 && num2 > num1)); //条件结果结果取反 // && || ! // 与 或 非 //逻辑运算符 System.out.println("============位逻辑运算符=============="); System.out.println("A:" + (int) A); System.out.println("B:" + (int) B); System.out.println(A ^ B); // -------二进制--------- // A = 0011 1100 // B = 0000 1101 // --------判断-------- // A&B = 0000 1100 不同为0相同为1 // A|B = 0011 1101 有1即为1 // A^B = 0011 0001 相同为0不同为1 // ~B = 1111 0010 1为0 0为1 System.out.println(2 << 3); // -------二进制--------- // 0000 0000 0 // 0000 0001 1 // 0000 0010 2 // 0000 0011 3 // 0000 0100 4 // 0000 1000 8 // 0001 0000 16 // & | ^ ~ << >> // 与 或 非 异或(按位取反) 左移(*) 右移(/) //位逻辑运算符 System.out.println("===========条件运算符=============="); int score = 60; String type = score >= 60 ? "及格" : "不及格"; System.out.println(type); // ? : //× ? y : z //如果x==true,则结果为y,否则结果为z System.out.println("===========算数方法==========="); System.out.println("Math.pow(2, 3) = " + Math.pow(2, 3)); System.out.println("Math.pow(3, 2) = " + Math.pow(3, 2)); //Math.方法 System.out.println("===========字符串连接符 + String=========="); System.out.println("" + 10 + 20); System.out.println(10 + 20 + ""); //String写在前后的区别 System.out.println("" + (10 + 20)); //()加强优先级 } }
-
算数运算符
符号 | 描述 |
---|---|
+ | 加 |
- | 减 |
* | 乘 |
/ | 除 |
% | 余 |
++ | 自增 |
-- | 自减 |
-
赋值运算符
符号 | 描述 |
---|---|
= | 赋值 |
+= | 加等 |
-= | 减等 |
*= | 乘等 |
/= | 除等 |
%= | 余等 |
-
比较运算符
符号 | 描述 |
---|---|
> | 大于 |
< | 小于 |
>= | 大于等于 |
<= | 小于等于 |
!= | 不等于 |
== | 等等于 |
-
逻辑运算符
符号 | 描述 |
---|---|
&& | 与 |
|| | 或 |
! | 非 |
-
位逻辑运算符
符号 | 描述 |
---|---|
& | 与 |
| | 或 |
^ | 非 |
~ | 异或(按位取反) |
<< | 左移(*) |
>> | 右移(/) |
-
条件运算符
符号 | 描述 |
---|---|
? : | 如果为true那么 |
转义符
package CH01_JAVABase; //转义符 public class XZ08_EscapeCharacter { public static void main(String[] args) { System.out.println("人生若只如初见,何事秋风悲画扇。"); System.out.println("============================"); System.out.print("人生若只如初见,"); //这里的输 print 加上ln同样表示换行 System.out.println("何事秋风悲画扇。"); System.out.println("============================"); System.out.println("人生若只如初见,\n何事秋风悲画扇。"); System.out.println("============================"); System.out.println("人生若只如初见,\t何事秋风悲画扇。"); //\n 换行 //\t 占位符 } }
转义字符 | 意义 | ASCII码值(十进制) |
---|---|---|
\a | 响铃(BEL) | 007 |
\b | 退格(BS) ,将当前位置移到前一列 | 008 |
\f | 换页(FF),将当前位置移到下页开头 | 012 |
\n | 换行(LF) ,将当前位置移到下一行开头 | 010 |
\r | 回车(CR) ,将当前位置移到本行开头 | 013 |
\t | 水平制表(HT) (跳到下一个TAB位置) | 009 |
\v | 垂直制表(VT) | 011 |
\ | 代表一个反斜线字符'' | 092 |
' | 代表一个单引号(撇号)字符 | 039 |
" | 代表一个双引号字符 | 034 |
\? | 代表一个问号 | 063 |
\0 | 空字符(NULL) | 000 |
\ooo | 1到3位八进制数所代表的任意字符 | 三位八进制 |
\xhh | 十六进制所代表的任意字符 | 十六进制 |
注意:
-
区分,斜杠:"/" 与 反斜杠:"" ,此处不可互换
-
\xhh 十六进制转义不限制字符个数 '\x000000000000F' == '\xF'
命名规范
package CH01_JAVABase; //命名规范 public class XZ09_NamingSpecification { public static void main(String[] args) { // Java 所有的组成部分都需要名字。类名、变量名以及方法名都被称为标识符。 String name; int num; double value; boolean is; String 玄子 = "XuanZi"; //尽量使用英语单词作为标识符 //常用命名法 String studentName = "玄子"; //驼峰命名法:以小写字母开头,第二个及以后单词首字母大写 String StudentName = "玄子"; //帕斯卡命名法:以大写字母开头,第二个及以后单词首字母大写 } }
-
标识符命名规范:
-
所有标识符应具有实际意义,尽量不要使用 a、b 这样的无意义命名
-
所有的标识符都应该以字母(A-Z或者a-z),美元符($)、或者下划线(_)开始
-
首字符之后可以是字母(A-Z或者a-z),美元符($)、下划线(_)或数字的任何字符组合
-
不能使用关键字作为变量名或方法名
-
识符是大小写敏感的
-
合法标识符举例:age、$salary、value、1_value
-
非法标识符举例:123abc、-salary、#abc
-
可以使用中文命名,但是一般不建议这样去使用,也不建议使用拼音,很Low
-
-
常用命名法
-
所有变量、方法、类名:见名知意,具有实际意义
-
类成员变量:驼峰命名法:studentName
-
局部变量:驼峰命名法:studentAge
-
常量:以大写字母命名,下划线拼接:MAX_VALUE
-
类名:帕斯卡命名法:StudentName
-
方法名:帕斯卡命名法:StudentAge()
-
所有方法都带有()
-
-
包机制
package CH01_JAVABase; //包机制 public class XZ10_PackageMechanism { public static void main(String[] args) { // 为了更好地组织类,Java提供了包机制,用于区别类名的命名空间。 // 包语句的语法格式为: // package pkg1[. pkg2[. pkg3...]]; // 一般利用公司域名倒置作为包名;com.XuanZiShare.www // 为了能够使用某一个包的成员,我们需要在Java程序中明确导入该包。使用“import”语句可完成此功能 // import package1[.package2...].(classname|*); // *通配符 所有 } }
玄子2022年11月26日