本文共 7268 字,大约阅读时间需要 24 分钟。
标识符可以简单的理解成一个名字。
在Java中,我们需要标识代码的很多元素,包括类名、方法、字段、变量、包名等等。我们选择的那个名称就称为标识符,一个正确的标识符需要遵循以下规则:在Java中,有一些单词被赋予了特定的意义,一共有53个关键字。
这53个单词都是全小写,其中有两个保留字:const和goto。 注意,关键字不能被用作标识符!!几乎所有编程语言都允许程序员在代码中输入注释,因为编译器会忽略注释,所以注释并不会影响程序的运行结果。
注释的真正作用是: 它可以向任何阅读代码的人描述或者解释程序的实现思路,如何使用以及其它任何相关信息, 提高代码的可读性,方便后期的维护与复用。Java的注释有3种:格式: 每行都以”//”开头.
快捷方式: Ctrl+/ 添加注释,同样的快捷键,再按一次取消注释格式: 以”/”开头, 以”/”结束.
快捷方式: Ctrl+shift+/ 添加注释, Ctrl+shift+\ 取消注释, 也可以输入”/*”之后按回车添加注释格式: 以”/”开头。 以”*/”结尾. 快捷方式: 输入“/” 之后按回车添加注释
在JAVA中,我们需要记录一些数据,但这些数据的值是不固定的,总在变,我们可以把这些数据理解为变量。
我们通过三个元素来描述变量:变量类型 变量名以及变量值。 int age = 18; //声明int类型的变量并赋值 String tel ; //声明String类型的变量注意:
在程序运行过程中,值一直不会改变的量成为常量。(后续会进一步学习,略…)
变量就是申请内存来存储值。也就是说,当创建变量的时候,需要在内存中申请空间。
java是一个强类型的语言,会把日常见到的数据,分成好多类型. 内存管理系统根据变量类型来分配存储空间,分配的空间只能用来储存该类型数据。 常用的转换关系: 位 bit,来自英文bit,音译为“比特”,表示二进制位。 1 Byte = 8 Bits (1字节 = 8位) 1 KB = 1024 Bytes 1 MB = 1024 KB 1 GB = 1024 MB创建包: cn.tedu.basic
创建类: TestInfo.java 需求: 在控制台打印: java架构师今年20岁,月薪100000.99,感慨java是世界上最好的语言package cn.tedu.basic;/** * 本类用于测试在控制台打印个人信息 * 需求: 在控制台打印: * java架构师XXX今年X岁,月薪XXX,感慨java是世界上最好的语言 * @author XYCheng */public class TestInfo { //Alt+/ 提示补全代码 Ctrl+s保存代码 Ctrl+F11执行代码 public static void main(String[] args) { /**1.在我们的程序当中{} [] () "" 都是成对出现的,而且都是英文符号*/ /**2. 一串数据,在java里是字符串类型—String * 字符串类型的数据,要被一对双引号 引起来*/ System.out.println("欢迎来到Java世界,可爱的程序猿们"); /**3.定义变量的规则:数据类型 数据名 数据值 */ String name="陈子枢"; int age = 18; double salary = 100000.99; /**4.把静态数据与动态数据分开,通过+实现动态数据的动态拼接*/ System.out.println("我叫"+name); /**5.如果是在中间拼接用""+变量+""的格式*/ System.out.println("java架构师"+name+",今年"+age+"岁,月薪"+salary+",感慨java是世界上最好的语言"); }}
创建包: cn.tedu.basic
创建类: TestTypeScope.javapackage cn.tedu.basic;/** * 本类用于查看基本类型的最大值与最小值 * Ctrl+Alt+向下键 快速向下复制一行 */public class TestTypeScope { //必须要写入口函数,否则代码无法执行,因为没有入口 public static void main(String[] args) { //入口函数 //进行整形类型的测试 byte1 short2 int4 long8 //1.定义变量,用变量分别保存最大值与最小值 //定义变量 数据类型 变量名 变量值 Ctrl+Alt+向下键 快速向下复制一行 换位置:Alt+方向键 /**JAVA提供了对应的基本类型的工具箱*/ byte byteMax = Byte.MAX_VALUE; byte byteMin = Byte.MIN_VALUE; System.out.println("byte类型的最大值是:"+byteMax);//127 System.out.println("byte类型的最小值是:"+byteMin);//-128 short shortMax = Short.MAX_VALUE; short shortMin = Short.MIN_VALUE; System.out.println("short类型的最大值是:"+shortMax);//32767 System.out.println("short类型的最小值是:"+shortMin);//-32768 int intMax = Integer.MAX_VALUE; int intMin = Integer.MIN_VALUE; System.out.println("int类型的最大值是:"+intMax);//2147483647 System.out.println("int类型的最小值是:"+intMin);//-2147483648 long longMax = Long.MAX_VALUE; long longMin = Long.MIN_VALUE; System.out.println("long类型的最大值是:"+longMax);//9223372036854775807 System.out.println("long类型的最小值是:"+longMin);//-9223372036854775808 //浮点型测试 float double //1.4E-45(1.4乘以10的负45次方) float floatMax = Float.MAX_VALUE; float floatMin = Float.MIN_VALUE; System.out.println("float类型的最大值是:"+floatMax);//3.4028235E38 System.out.println("float类型的最小值是:"+floatMin);//1.4E-45 double doubleMax = Double.MAX_VALUE; double doubleMin = Double.MIN_VALUE; System.out.println("double类型的最大值是:"+doubleMax);//1.7976931348623157E308 System.out.println("double类型的最小值是:"+doubleMin);//4.9E-324 //布尔型boolean true真 false假 boolean b1 = true; boolean b2 = false; //字符型char char c1 = 'a';//可以保存一个字符 char c2 = 97;//可以保存一个数字 char c3 = '中';//可以保存一个汉字 //char类型可以存数字,但是在打印时,会去查ASCII码表,把数字对应的字符拿出来使用 //ASCII码表值规定了数组0-127对应的字符,128-65535默认按照字符?来处理 System.out.println(c1);//a System.out.println(c2);//a System.out.println(c3);//中 }}
需求:求出指定半径圆的面积
公式:圆的面积:πrr 创建包: cn.tedu.basic 创建类: TestCircleArea.javapackage cn.tedu.basic;import java.util.Scanner;/**本类用于求圆的面积*/public class TestCircleArea { public static void main(String[] args) { //公式:π*r*r //1.提示用户输入要求圆的半径 System.out.println("请您输入要求圆的半径值:"); //2.接收用户输入的半径值 double r = new Scanner(System.in).nextDouble(); //3.根据半径进行计算圆的面积 double circleArea = 3.14*r*r; //4.把圆的面积打印到控制台 System.out.println("当半径为"+r+"时,圆的面积为:"+circleArea); }}
需求: 接收用户输入的两个值:假设a=1,b=2,并将这两个变量的值进行互换
创建包: cn.tedu.basic
创建类: TestValueExchage.javapackage cn.tedu.basic;import java.util.Scanner;/**本类用于交换两个变量的值*/public class TestValueExchage { public static void main(String[] args) { //1.提示并接收用于输入的两个值 System.out.println("请输入a的值:"); int a = new Scanner(System.in).nextInt(); System.out.println("请输入b的值:"); int b = new Scanner(System.in).nextInt(); System.out.println("a的值:"+a); System.out.println("b的值:"+b); //2.交换a b 两个变量的值 int t ;//定义用来值交换的第三方变量t t = a;//把a的值交给t来保存 a = b;//把b的值交给a来保存 b = t;//把t的值嫁给b来保存 //3.把交换后的两个值打印在控制台 System.out.println("交换后,a的值为:"+a); System.out.println("交换后,b的值为:"+b); }}
引用类型是一个对象类型,值是什么呢?它的值是指向内存空间的引用,就是地址,所指向的内存中保存着变量所表示的一个值或一组值。如:类,接口,数组,后面讲。。。
(后续会进一步学习,略…)int x = 99999;//对,右面数据的字面值是int类型
int x = 99999999999;//错,右面数据的字面值是int类型,但是已经超出int的取值范围。
byte b1=127;//对,
byte b2=128;//错,超出byte范围
double r =3.14;//对
float r =3.14;//错,右面的数据字面值是double,float是4字节存不下double类型的数据
long x =99999999999L;//字面值是int类型,需转成long类型的数据,加字面值后缀L即可
float b = 3.0F;//3.0字面值是double类型,加后缀F会变成float类型
double d = 3D;//3字面值是int类型,加后缀D,会变成double类型
0b - 标识这是2进制 ,如:0b0101
0 - 标识这是8进制, 8进制是三位,如: 023
0x - 标识这是16进制,如: 0x0001
\u -标识这是char类型,属于16进制
箭头开始的地方是小类型,箭头指向的地方是大类型
我们此处所指的"大"和"小",指的是对应类型的取值范围,不是字节数哦byte m = 120;
int n = m;//小转大,右面的m是小类型,给左面的n大类型赋值,可以直接使用
float f = 3.2f; double d = f; -->可以执行
容量大的类型转换为容量小的类型时必须使用强制类型转换。
int x = 999;
byte y =(byte)x;//大转小,右面x给左面的y小类型赋值,不可以,需要强制类型转换
小到大,直接转 大到小,强制转 浮变整,小数没
低 ------------------------------------> 高
byte,short,char→ int→ long→float→double
System.out.println(3/2);//1,int/int,得到的结果类型还是int
System.out.println(3/2d);//1.5,int/double。得到的结果是double
byte a = 1;
byte b = 2;
byte c = (byte)(a+b);
//a+b会自动提升成int类型,右面得运算结果就是int大类型
//给左面的byte小类型赋值,不可以,需要强转。
整数运算,类似于一个钟表,转到最大时,再转会回到最小。
计算:光速运行一年的长度是多少米?3亿m/s//溢出的现象:
//因为做了大的整型数据的运算,会超出int取值范围。解决方法:把整数提升成long类型。
System.out.println(300000000L * 60 * 60 * 24 * 365);
1-0.8 (这是一个现象,后续会学习解决方案)
Infinity 无穷大 3.14/0
NaN not a number 0/0.0 或 0.0/0
1.【强制】标识符命名均不能以数字开头,而且下划线或美元符号开始,也不能以下划线或美元符号结束
错误案例:1name/name / name / n a m e / n a m e name / name name/name 2.【强制】代码中的命名严禁使用拼音与英文混合的方式,更不允许直接使用中文的方式。 说明:正确的英文拼写和语法可以让阅读者易于理解,避免歧义。 注意,即使纯拼音命名方式也要避免采用。 正确案例:alibaba / taobao / youku / hangzhou 等国际通用的名称,可视同英文。 错误案例:DaZheModule [打折模块] / getPingfenByName() [评分] 3.【强制】类名使用 UpperCamelCase 风格转载地址:http://puxk.baihongyu.com/