平时我们编写代码,在代码量比较少的时候,我们还可以看懂自己写的,但是当项目结构一旦复杂起来,我们就需要用到注释了。
注释并不会被执行,是给我们写代码人看到的。
书写注释是一个非常好的习惯,平时写代码一定要注意规范。
Java中的注释有三种:
单行注释:可以注释单行文字,结构为:“// + 内容”
//输出一个Hello world! System.out.println("Hello World!");
多行注释:可以注释一段文字,结构为:“/* */”
/* 多行注释 * 123 * 123 * 123 * 123 */
文档注释:Java Doc,结构为:"/** */"
/** * @Description HelloWorld * @Author 高旭,湖南大学 * */
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vepzFciC-1635864333915)(C:\Users\HUAWEI\AppData\Roaming\Typora\typora-user-images\image-20211023134015164.png)]
public String setTeacher(String TeacherName){ String teacherName = TeacherName; return teacherName; } /* 变量名 --> teacherName 方法名 --> setTeacher*/
标识符注意点
String Man = "Gx"; String man = "Gx"; //这两个变量是完全不一样,因为Java标识符是大小写敏感的
public static void main(String[] args) { String 老师 = "Gx" System.out.println(老师); }
强类型语言
弱类型语言
Java的数据类型分为两大类
基本类型(primitive type)
整数类型:byte占1个字节,范围:-128 ~ 127
short占2个字节,范围:-32768 ~ 32767
int占4个字节,范围:-2147483648 ~ 2147483647
long占8个字节,范围: -9223372036854775808 ~ 9223372036854775807
//整数类型 byte num1 = 10; short num2 = 30; int num3 = 500; //最常用 long num4 = 30L; //long类型要在数字后面加个L //浮点数类型 float num5 = 50.1F; //float类型要在数字后加个F,不然会报错,让你改为double类型 double num6 = 3.1415926; //字符类型 char name = 'A'; //字符串,String不是关键字,它是一个类 String name1 = "gaox"; //boolean,布尔值 boolean flag = true; boolean flag = false;
浮点类型:单精度float占4个字节、双精度double占8个字节
字符类型 char:占2个字节
Boolean类型:占1位,其值只有true和false
补充:什么是字节?
// 1bit表示1位 // 1byte 表示一个字节 1B = 8bit 1024B = 1KB 1024KB = 1M 1024M = 1G 1024GB = 1TB
思考:电脑的32位和64位的区别是什么呢?
答:32位操作系统只能用32位的CPU,而64位的操作系统既可以用64位的CPU,也可以用32位的CPU;他们的寻址能力也不相同,32位的电脑有4GB内存,而64位有128GB+内存
由于Java是强类型语言,所以要进行有些运算的时候,需要用到类型转换。
低 ———————————————————————高
byte, short, char —> int —> long —> float —> double
运算中,不同类型的数据先转化为同一类型,然后进行运算。
强制类型转换:格式为:(类型)变量名 ;适用情况: 由高到低转变
int i = 34; byte b = (byte)i; //强制类型转换
自动类型转换: 自动转换;使用情况: 由低到高转变
int i = 34; double b = i; //自动转换
注意点
不能对布尔值进行转换
不能把对象类型转换为不相干的类型
在把高容量转换到低容量的时候,用强制转换
转换的时候可能存在内存溢出,或者精度问题
int money = 1000000000; int years = 20; int total = money * years; //结果为-1474836480,计算的时候溢出了 long total1 = money * years; //结果还是-1474836480,money和years都是int,所以在转换之前就已经出错了 //正确的转换方式 long total2 = money * ((long)years); //结果为20000000000
变量就是可以变化的量,在内存中开辟一块空间
Java是一种强类型语言,每个变量都必须声名其类型
Java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域
type varname [= value]; //格式为:数据类型 变量名 = 值;
注意事项:
pubilc class Demo1 { //类变量 static 关键字 static double salary = 2500.00; //实例变量:从属于对象,如果初始化,则会返回其对应的默认值 //int 默认为0;double 默认值为0.00 //布尔值 默认值为false //除了基本类型外,其余的默认值都为NULL String name; int age; public static void main(String[] args){ //局部变量;必须声名和初始化 int i = 10; //创建类的对象 Demo1 demo = new Demo1(); demo.age = 10; demo.name = "Gx"; } }
补充:变量命名规范
常量(Constant):初始化后不能再改变的值!!
所谓的常量而可以理解为一种特殊的变量,他的值被设定后,在程序运行中不允许被改变。
常量名一般使用大写字符
//格式为 final 数据类型 常量名 = 值; final double PI = 3.14;
b = a++; //a++ 执行完这行代码后,先给b赋值,再自增 b = ++a; //++a 执行这行代码前,先自增,再给b赋值 //很多运算可以用一些工具类来操作 Math 类 a && b; //两个都为真,结果才是真 a || b; //两个其中有一个真,则结果才为真 /** 位运算符 a = 0011 1100 b = 0000 1101 */ a & b = 0000 1100 //同一位比较,两者都为1,结果为1 a | b = 0011 1101 //同一位比较,两者其中有一个位1,结果为1 a ^ b = 0011 0001 //同一位比较,两者相同为0,不同为1(异或) ~b = 1111 0010 //取反就好 2 << 3 = 16; //左移相当于 * 2 8 >> 2 = 2; //右移相当与 / 2 //字符串连接符 + int a = 10; int b = 10; System.out.println("" + a + b); //输出1020,""在前方,按照字符串的形式加 System.out.println(a + b + ""); //输出20,""在后方,直接按int型加 //三元运算符 // x ? y : z int score = 50; String type = score < 60 ? "不及格" : "及格"; System.out.println(type); //输出不及格
为了更好的组织类,Java提供了包机制,用于区别类名的命名空间。
包语句的语法格式为:
package pkg1[. pkg2[. pkg3……]];
一般利用公司域名倒置作为包名; com.gxstudy.blog
Java doc命令是用来生成自己的 API 文档的
参数信息