注释
为什么要写注释?
在以后的工作中我们写了一些比较难的代码的时候,如果没有注释我们会很容易忘记当时为什么要这样来写,简单的来说注释就是代码的解释说明,java的注释一共是分为三种,单行注释,多行注释,文档注释。平时写代码用的最多的是单行注释跟多行注释
单行注释 //
多行注释/* */
被注释之后的代码是不会被运行的
public class Java {
public static void main(String[] args) {
// System.out.println("hello world");
/* System.out.println("hello world");
System.out.println("hello world");
System.out.println("hello world");
System.out.println("hello world");*/
System.out.println("hello world");
}
}
运行结果:
hello world
关键字
什么是关键字?
关键字就是被java赋予了特定涵义的英文单词
关键字的特点
1.关键字的字母全部是小写
2.常见的编译器当中关键字都是特殊的颜色标记,非常直观
比方说下图画红线的都是关键字
class关键字
class用于创建或定义一个类,类是java最基本的组成单元,一个完成的java项目是由成千上万个类来组成的,class就是代表定义一个类,而class的后面有一个java,表示这个类的名字简称“类名”,类名的后面会有一对大括号,这个就表示类的范围,所有的代码都需要写在类的大括号当中
public class Java {
public static void main(String[] args) {
// System.out.println("hello world");
/* System.out.println("hello world");
System.out.println("hello world");
System.out.println("hello world");
System.out.println("hello world");*/
System.out.println("hello world");
}
}
字面量
java中最小的程序
对于程序员来说最小的程序呢,可能就是Hello World
今天跟大家说一说,JAVA的Hello World,从文件项目的创建一直到,语法的简单解剖
第一步:打开java的集成开发环境,我用的是IntelliJ IDEA Community Edition 2023.1.4
第二步:
第三步:
第三步:
第四步:
第五步:
第六步:
如果你看到了你的IDEA跟第六步图片中的一模一样的时候,你距离成功就差最后一步了,那就是到了咱们最激动人心的时刻,敲代码时间
第七步:
第八步:记得按回车
第九步:打上代码,英文哦
第十步:
代码写好之后,鼠标右键点击运行
第十一步:
下面简单跟大家聊一聊 刚才咱们写的这段代码的意思,这个红色框框圈起来的叫做类
绿色框框圈起来的,叫做方法
类当中包含方法,方法当中包含局部的变量
注意:在一个源文件中只能有一个public修饰的类,而且源文件名字必须与public修饰的类名字相同。给大家一个错误示范,这个知识点一定要注意到
JAVA语法结构解析,零基础必看
我们来看刚刚咱们写的main方法里面,看看需要注意的几个点
第一个点:这个红框框 框起来的是大驼峰,就是说如果是两个单词呢,这两个单词的首字母都是需要大写的,然后它是由class来做的,这个public可加可不加
第二个点:
第三个点:
我给在IDEA上面给大家演示一下,如果没有换行的区别
第四个点,就是System.out.println( ) 里面放什么就可以打印什么,也不用格式化
注意:快捷键 Ctrl+d 鼠标放在里面,下一行就会多一行,而且鼠标的位置不变
Ctrl+z 撤销上一步 Ctrl + x剪切
JAVA语言的注释是怎么用的?零基础必看
咱们今天是用的IDEA来进行演示的
JAVA里面的注释分为三种
第一种 单行注释俗称双斜杠 // (用的多)
第二种 多行注释/* */
第三章 文档注释
接下来先给大家看一下,单行注释,我们拿注释前跟注释后来做一个对比
JAVA的标识符定义的规则
在上述程序中,Test称为类名,main称为方法名,也可以将其称为标识符,即:在程序中由用户给类名、方法名或者变量所取的名字
标识符中可以包含:字母、数字以及下划线和$符号等等。
注意:标识符不能以数字开头,也不能是关键字,且严格区分大小写
在JAVA语言的语法中,$美元符号也是可以当做我们JAVA语言标识符的
我们来分析一下这句话:注意:标识符不能以数字开头,也不能是关键字,且严格区分大小写
而且对于定义表示符我们一般都是采用小驼峰,什么是小驼峰呢?小驼峰就是单词首字母小写
软性建议
{
类名:每个单词的首字母大写(大驼峰)
方法名:首字母小写,后面每个单词的首字母大写(小驼峰)
变量名:与方法名规则相同
}
JAVA数据类型和变量
1. 字面常量
常量即程序运行期间,固定不变的量称为常量
数据类型 关键字 内存占用 范围
字节型 byte 1字节 -128~127
短整型 short 2字节 -32768~32768
整型 int 4字节 -2^31~2^31-1
长整型 long 8字节 -2^63~2^63-1
单精度浮点数 float 4字节 有范围一般不关注
双精度浮点数 double 8字节 有范围一般不关注
字符型 char 2字节 0~ 65535
布尔型 boolean 没有明确规定 true和false
定义float类型的时候,数据值加F作为后缀
定义long类型的时候,数据值加L作为后缀
在C语言中任何的类型都分为有符号跟无符号,但是在java里面没有所谓的有符号,跟无符号,比如说byte这个类型,即可以表示正数也可以表示负数,为什么这么说呢?因为byte是一个字节有八个比特位,第一位叫做符号位,那就意味着1是负数,0是正数,符号位不属于数值位,就是说符号位不属于数值位,也就是说真正表示数值的,对于这八个比特位来说是后七位表示的才是数值在C语言中整型默认为int 类型,浮点数默认为double类型
标识符命名规则--- 硬性要求
由数字、字母、下划线( )和美元符($)组成
不能以数字开头
不能是关键字
区分大小写
标识符命名规则--- 软性建议
小驼峰命名法:方法、变量
规范1:标识符是一个单词的时候,全部小写
范例1:name
规范2:标识符由多个单词组成的时候,第一个单词首字母小写,其他单词首字母大写
范例2: firstName
大驼峰命名法:类
规范1:标识符是一个单词的时候,首字母大写
范例1: Student
规范2:标识符由多个单词组成的时候,每个单词的首字母大写
范例2:GoodStudent
JAVA还有一种类型叫做字符串类型,String,它是引用数据类型
什么是字节?字节是计算机中表示空间大小的基本单位计算机使用二进制表示数据.我们认为8个二进制位(bit)为一个字节(Byte)我们平时的计算机为8GB 内存,意思是8G个字节。其中1KB=1024 Byte1MB=1024 KB1GB=1024 MB.所以8GB相当于80多亿个字节.
1.boolean类型的变量只有两种取值true表示真 false表示假
2.Java的boolean类型和int不能相互转换,不存在1表示tre0表示false这样的用法.
键盘录入:
java帮我们写好了一个类叫Scanner,这个类就可以接收键盘输入的数字
步骤一:导包---Scanner这个类在哪
import java.util.Scanner;//导包的动作必须出现在类定义的上边
步骤二:创建对象---表示我要开始用Scanner这个类了
Scanner sc = new Scanner(System.in);
步骤三:接收数据
sc.nextInt();
这个时候你在键盘输入,它就会接收什么,我们可以再定义一个变量,把输入的数据赋值给左边的变量
import java.util.Scanner;
public class Java {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int i = sc.nextInt();
System.out.println(i);
}
}
运行结果:
123
123
类型转换
隐士转换(自动类型提升)
把一个取值范围小的数值,转成取值范围大的数据,隐式类型转换是不需要写代码额外来实现的
int a = 10;
double b =a;
变量b会自动提升到10.0,小的自动的变成了大的
隐式转换的两种提升规则
1.取值范围小的,和取值范围大的进行运算,小的会先提升为大的,再进行运算
2.byte short char三种类型的数据在运算的时候,都会直接先提升为int,然后再进行运算
public class Java {
public static void main(String[] args) {
int a = 10;
double b = 12.3;
//数据类型? = c a+b;
}
}
a+b是什么类型就要看取值范围的大小关系了,double类型的取值范围是要比int大的,所以变量a里面的数据会自动变成double类型的,然后再进行计算
public class Java {
public static void main(String[] args) {
byte a = 10;
byte b =20;
//数据类型?c=a+b;
}
}
a+b的数据类型是Int,因为byte在进行运算的时候都会先提升到int类型,提升之后实际上就是两个int在相加,那么c它就是int类型的
public class Java {
public static void main(String[] args) {
int i = 10;
long n = 100L;
double d = 20.0;
//数据类型 result=i+n+d;
}
}
按照计算的顺序,i先加n,i是int类型先进行整型的提升,提升到long类型,得出的这个结果就是long类型,然后再加d,由于不是一个类型,小的会变大的提升到double类型,最终计算的结果是double类型
强制转换
如果把一个取值范围大的数值,赋值给取值范围小的变量,是不允许直接赋值的,如果一定要这么做就需要加入强制转换。简单的说就是我们要转成什么数据类型就在小括号里面写成什么数据类型
public class Java {
public static void main(String[] args) {
double a = 12.3;
int b = (int)a;
}
}
如果说 要强转的数据比较大,数据就有可能发生错误
public class Java {
public static void main(String[] args) {
int a = 300;
byte b =(byte)a;
}
}
代码这样写肯定是不行的,因为int类型a的值300强转成byte可能会发生截断,因为byte的值只有-128-127,也就是说最大才能存127
算数运算符
字符串的“+”操作
当“+”操作中出现字符串时,这个“+”是字符串连接符,而不是算术运算符,而不是算术运算符。会将前后的数据进行拼接,并产生一个新的字符串
public class Java {
public static void main(String[] args) {
System.out.println("123"+123);
}
}
运行结果:
123123
连续进行“+”操作时,从左到右逐个执行
public class Java {
public static void main(String[] args) {
System.out.println(1+3+"小可爱");
}
}
代码运行:
4小可爱
首先第一步它做的是1+3,1+3当中这两个没有字符串,没有字符串它就是一个普通的算术运算符,所以说1+3它就变成了4,4再去跟后面的字符串进行拼接,所以最后就就变成了4小可爱,有字符串参与就是拼接,没有字符串的参与就是普通的算术运算符
&逻辑与(且)并且,两边都为真,结果才是真
| 逻辑或,左右两边一边为真的时候就是真
^ 逻辑异,或相同为加,不同为真
! 逻辑非,取反
&& 短路与 左右两边为真就为真,左边为假不执行右边(跟&执行结果是一样的,但是效率高)
|| 短路或 左右两边一边为真就为真,左边为真,不再判断右边(跟|执行结果是一样的,但是效率高)
什么是原码?
原码就是十进制数据的二进制表现形式,最左边是符号位0为正,1为负
比方说56转成二进制00111000左边的第一位就是符号位,0为正1为负后面才是具体的数值,