一、基础语法
1、注释概述:注释是在程序指定位置添加的说明信息,不参与说明,仅仅起到说明作用。
注释分类:1、单行注释;格式://注释信息
2、多行注释;格式:/*注释信息*/
3、文档注释;格式:/**文档信息*/
2、关键字概述:是被java赋予了特定含义的单词。
特点:关键字的字母全部小写;
常用的代码编辑器,针对关键字有特殊的颜色标记。(public、class、static、void、main......)
3、常量的概述:在程序运行过程中,其值不可发生改变的量。
常量类型 | 说明 |
字符串常量 | 用双引号括起来的内容 |
整数常量 | 不带小数的数字 |
小数常量 | 带小数的数字 |
字符常量 | 用单引号括起来的内容 |
布尔常量 | 布尔值,表示真假,只有两个值true、false |
空常量 | 一个特殊的值,空值,null |
4、数据类型:①计算机存储单元,我们知道计算机是可以用来存储数据的,但是无论是内存还是硬盘,计算机存储设备的最小信息单元叫“位(bit)”,我们又称之为“比特位”,通常用小写的字母”b”表示。而计算机中最小的存储单元叫“字节(byte)”, 通常用大写字母”B”表示,字节是由连续的8个位组成。
除了字节外还有一些常用的存储单位,大家比较熟悉,我们一起来看看:
1B(字节) = 8bit
1KB = 1024B
1MB = 1024KB
1GB = 1024MB
1TB = 1024GB
②Java语言是强类型语言,对于每一种数据都给出了明确的数据类型,不同的数据类型也分配了不同的内存空间,所以它们表示的数据大小也是不一样的。
数据类型分为基本数据类型和引用数据类型。
基本数据类型分为数值型和非数值型,数值型包含整数(byte、short、int、long),浮点数(float、double),字符(char)。非数值型包含布尔(boolean)、类(class)、接口(interface)、数组([])。
③数据类型内存占用和取值范围
数据类型 | 关键字 | 内存占用 | 取值范围 |
整数 | byte short int long | 1 2 4 8 | -128~127 -32768~32767 -2的31次方到2的31次方-1 -2的63次方到2的63次方-1 |
浮点数 | float double | 4 8 | 负数:-3.402823E+38~-1.401298E-45 正数: 1.401298E-453.402823E+38 负数:-1.797693E+308到-4.9000000E-324 正数:4.9000000E-324 到1.797693E+308 |
字符 | char | 2 | 0-65535 |
布尔 | boolean | 1 | true,false |
说明:E+38表示是乘以10的38次方,其余同理推测。
整数默认为int型,浮点数默认为double型。
5、变量
变量概述:在程序运行过程中,其值可以发生改变的量,从本质上讲,变量是内存中一小块区域。
变量的定义:格式:数据类型 变量名 = 变量值;
范例:int a = 10;
变量的使用:取值和修改值;
取值格式:变量名
例如:a
修改值格式:变量名=变量值;
例如 a = 20;
变量使用的注意事项:
注:名字不能重复;变量值未赋值不能使用;long类型的变量在定义时,为防止整数过大,其后家L;float类型的变量在定义时候,为防止类型不兼容,其后家F。
6、标识符
概述:就是给类、方法、变量起名字的符号。
定义规则:由数字、字母、下划线(_)和美元符($)组成;
不能以数字开头;不能是关键字;要区分大小写。
常见的命名约定:①小驼峰命名法:主要用于方法、变量。标识符是一个单词的时候,首字母小写;标识符为多个单词组成时候,第一个单词首字母小写,其余单词首字母大写。
②大驼峰命名法:主要用于类。标识符为一个单词时候,首字母大写;由多个单词组成的时候,每个单词首字母大写。
7、类型转换
分为自动类型转换和强制类型转换。
自动类型转换:把一个表示数据范围小的数值或者变量赋值给另一个表示数据范围大的变量,例如:double d = 10;
强制类型转换:把一个表示数据范围大的数值或者变量赋值给另一个表示数据范围小的变量,例如:int k = (int)88.88;
数据类型从小到大图:
二、运算符
1、算术运算符
1.1 运算符和表达式
运算符:对常量或者变量进行操作的符号。
表达式:用运算符把常量或者变量连接起来符合java语法的式子称之为表达式,不同运算符连接 的表达式体现的是不同类型的表达式。
1.2算术运算符
+、-、*、/,%、%为取结果的余数,整数操作只能得到整数,要想得到小数就必须有浮点数参与运算。
1.3字符的“+”操作
拿字符在计算机底层对应的数值来进行计算的,算术表达式中包含多个基本数据类型的时候,整个算术表达式的类型会自动进行提升,以下是提升规则:
byte类型,short类型和char类型将被提升到int类型;
整个表达式的类型自动提升到表达式中最高等级操作数同样的类型
byte,short,char→int→long→float→double
1.4 字符串的“”“+”操作
当“+”操作中,如果出现字符串,就是连接运算符,否则就是算术运算。
2、赋值运算符
2.1 赋值运算符:=、+=、-=、*=、/=、%=等等,例如:a += b;是将a + b的值给a。
需注意:扩展的赋值运算符隐藏了强制类型转换
3、自增自减运算符
3.1 概述:(++)自增,变量的值加1,(--)自减,变量的值减1;
注意:++和--可随意放在变量的前后;单独使用的时候,无论是放在前后结果都是一样的;参与操作的时候,如果放在变量的后边,先拿变量参与操作,后拿变量做++或--;如果放在变量的前边,就先拿变量做++或--,后拿变量参与操作;一般单独使用。
4、关系运算符
4.1 概述:
符号 | 说明 |
== | a==b,判断a和b的值是否相等,成立为true,不成立为false |
!= | a!=b,判断a和b的值是否不相等,成立为true,不成立为false |
> | a>b,判断a是否大于b,成立为true,不成立为false |
>= | a>=b,判断a是否大于等于b,成立为true,不成立为false |
< | a<b,判断a是否小于b,成立为tru,不成立为false |
<= | a<=b,判断a是否小于等于b,成立为true,不成立为false |
注意:关系运算符的结果是boolean型,要么true要么false。
5、逻辑运算符
概述:在java中,我们需要把3<x<6这种式子进行拆解然后再进行合并表达。
拆解开为:x>3,x<6;
合并为:x>3&&x<6;
&&其实就是一个逻辑运算符,是用来连接关系表达式的运算符;逻辑运算符可以直接连接布尔类型的常量或者变量。
符号 | 作用 | 说明 |
& | 逻辑与 | a&b,a和b都是true,结果为true否则为false |
| | 逻辑或 | a|b,a和b都是false,结果为false否则为true |
^ | 逻辑异或 | a^b,a和b结果不同为true,相同为false |
! | 逻辑非 | !a结果和a的结果相反 |
5.2 短路逻辑运算符
符号 | 作用 | 说明 |
&& | 短路与 | 作用和&相同,但是有短路效果 |
|| | 短路或 | 作用和 | 相同,但是有短路效果 |
注意:逻辑与&,无论左边真假,右边都要执行;
短路与&&,如果左边为真,右边执行;左边为假,右边不执行;
逻辑或 | ,无论左边真假,右边都要执行;
短路或 ||,如果左边为假,右边执行;如果左边为真,右边不执行;
6、三元运算符
6.1 格式
例:a>b? a:b;
计算规则:首先计算关系表达式的值;如果值为true,表达式1的值就是运算结果; 若值为false,表达式2的值就是运算结果。
三、数据输入
1、Scanner使用的基本步骤:
①导包:import java.util.Scanner;
导包的动作必须出现在类定义的上边;
②创建对象:Scanner sc = new Scanner(System.in);
只有sc是变量,其他都不允许变;
③接收数据:int i = sc. nextInt();
只有i是变量,其他都不允许变。