目录
一、变量
1.1 什么是变量
变量:表示数据在内存中内存地址,变量对应的数据是可以改变
1.2变量的使用
1、声明变量(申请内存地址)语法:数据类型 变量名;
2、变量的初始化(给变量赋值)
语法:变量名=值;
3、使用变量(注意:变量初始化了才能使用)
语法:打印输出、方法传参、进行计算
代码展示:
//使用方式1
//1、声明变量
int a;
//2、变量的初始化
a=10;
//3、使用变量
System.out.println(a);
//使用方式2
//1、声明变量 2、变量的初始化
int b=20;
System.out.println(b);
//使用方式3 连续定义
int c,d,e=10;//相当于:int c;int d;int e = 10;
//System.out.println(c);(c未初始化)
System.out.println(e);
1.3标识符的命名规则
标识符(变量名、类名、包名、方法名...)
* 1、标识符只能由数字、字母、下划线、$组成
* 2、标识符不能使用数字开头
* 3、标识符不能使用java中保留字和关键字
* 4、标识符要使用驼峰命名法(标识符由多个单词组成)
* 大驼峰(首字母大写,而后的每一个单词的首字母大写) 类名、接口名
* HelloWorld
* 小驼峰(首字母小写,而后的每一个单词的首字母大写)变量名、方法名
* productNumber
* 5、见名知意(特别是项目开发中)
二、数据类型
2.1基本数据类型
2.2.1整型类型
byte(1字节) short(2) int(4) long(8)
2.2.2浮点类型
float(4) double(8)
2.2.3布尔类型
boolean(1)
2.2.4字符类型
char(2)
代码展示:
//定义byte类型的变量
byte a=10;
System.out.println(a);
//定义short类型的变量
short b=20;
System.out.println(b);
//定义int类型的变量
int c=100;
System.out.println(c);
//定义long类型的变量
long d=102;
System.out.println(d);
///定义float类型的变量(float定义小数的时候需要在后面加上F f)
float e=1.1f;
System.out.println(e);
//定义double类型的变量
double f=1.2;
System.out.println(f);
//定义boolean类型的变量(布尔类型表示真假 true 真 false 假)
boolean h=true;
System.out.println(h);
//定义char类型的变量(注意:在java中“”表示字符串, ‘’表示字符 char只能表示一个字符)
//字符:各个国家的文化符号
//每一个文化符号都对应有一个数字 ASCII码 UTF-8 GBK
//char有三种表示方式
//方式一:使用‘’表示
char i='a';
System.out.println(i);
//方式二:使用数字表示 2字节 16位 2^16=65536 0~65535
char j=97;
System.out.println(j);
//方式三:使用16进制表示
char k='\u0000';
System.out.println(k);
2.2.5数据类型细节
1、在java中出现的任意一个整数默认当作是int类型
2、在java中出现的任意一个整数默认当作是double类型注意:定义long类型的变量的时候尽量加上L l
注意:定义float类型的变量的时候尽量加上F f
2.2.6转义字符
\就表示转义的含义
\字符 就是转义字符
常见的转义字符串
\n表示换行 \t 表示制表位(tab)
2.2引用数据类型
String类型(表示字符串)
代码展示:
//定义字符串类型的变量(字符串必须用“”表示)
String l="asdfgh";
System.out.println(l);
三、数据类型转换
3.1为什么要进行数据类型的转换
在java要求=号左右两边的数据类型一致
如果希望等号的左边和右边类型不一致那么需要进行数据类型转换
a、自动类型转换(隐式类型转换)
在数据类型兼容的情况下,将小的数据类型转换成大的数据类型(不需要做任何的操作)
b、强制类型转换(显式类型转换)
在数据类型兼容的情况下,将大的数据类型转换成小的数据类型
代码展示:
byte a=10;
//发生了自动类型转换
int b=a;
System.out.println(b);
//强制类型转换
int c=10;
byte d=(byte)c;
System.out.println(d);
double e=2.2;
float f=(float)e;
System.out.println(f);
3.2数据类型转换的细节
a、boolean类型不参与任何的数据类型转换(即不能将boolean转换成其他类型)
b、优先级:byte char|short int long float double
c、在java中byte、short、char在参与计算之前会将自身自动转换成int类型
d、强制类型转换会造成数据丢失
3.3数据类型自动提升
在计算的表达式中有double类型的时候,计算的结果就是double
在计算的表达式中有float类型的时候(没有double),计算的结果就是float
在计算的表达式中有long类型的时候(没有float),计算的结果就是long
在计算的表达式中有int类型的时候(没有long),计算的结果就是int
在计算的表达式中有byte,short,char类型的时候(没有int),计算的结果就是int
四、运算符
4.1算术运算符
+ - * / % ++ --
代码展示
int a=10;
int b=25;
System.out.println(a+b);
System.out.println(a-b);
System.out.println(a*b);
System.out.println(a/b);
System.out.println(a%b);
在java中+号除了可以当作是加法运算符以外,还可以当作是字符串的拼接
相当于将它们使用+号进行组合,最终返回的结果一定是String
代码展示:
int num1=10;
int num2=20;
System.out.println("num1和num2的和为:"+(num1+num2));
4.2关系运算符
> < >= <= != ==
关系运算计算的结果一定是boolean类型
代码展示:
int e1=10;
int e2=11;
boolean bool=e1 > e2;
System.out.println(bool);//false
4.3赋值运算符
= += -= *= /= %=
代码展示:
// ++自增(自身+1) --自减(自身-1)
//++可以在变量前面使用,也可以在变量后面使用
//++在前面,先+1再使用;++在后面,先使用,再+1
int d=10;
d++;
System.out.println(d);//11
System.out.println(++d);//12
System.out.println(d++);//12
System.out.println(d);//13
==号的作用:在java中=符号被用作了赋值运算符,==就表示比较的含义
==一般用来比较基本数据类型,在基本数据类型中只要值相等,就会返回true
4.4逻辑运算符
逻辑运算计算的结果一定是boolean类型
与 &&
逻辑与的特点:
所有的条件都满足,结果才返回true,否则返回false
或 ||
逻辑或的特点:
有一个条件都满足,结果返回true,全部都不满足才返回false
非 !
条件取反(一般都用于做一些反向判断)
条件为真,则结果就是false
条件为假,则结果就是true
注意:在java中&和|也可以用作逻辑运算
&&,短路与,即在整个运算式子中只要有一个结果返回了false,就不会再执行后面的表达式
& 不管整个运算式子结果如何,都会把所有的表达式执行完
||,短路或,即在整个运算式子中只要有一个结果返回了true,就不会再执行后面的表达式
| 不管整个运算式子结果如何,都会把所有的表达式执行完
代码展示:
//给出三条边,判断是否能构成三角形
int c1=3;
int c2=4;
int c3=5;
System.out.println(c1+c2>c3 && c1-c2<c3);
4.5三目运算符
条件表达式 ? 结果1 :结果2;
如果条件表达式为true,则返回结果1
如果条件表达式为false,则返回结果2
代码展示:
//如果年龄大于18岁输出成年人,否则输出未成年人
int age = 10;
String s = age > 18 ? "成年人" : "未成年人";
System.out.println(s);
4.6位运算符
不做过多讲解
五、控制台录入
5.1使用步骤
Scanner类用于扫描键盘录入的内容
1、创建Scanner对象
2、引入Scanner的包(在java一个类引用另一个类的时候需要引入另一个类包(不在同一个包下))
3、使用Scanner对象提供的方法来获取键盘录入的内容
代码展示:
//1、创建Scanner对象
Scanner sc=new Scanner(System.in);
//3、使用Scanner对象提供的方法来获取键盘录入的内容
System.out.println("请您输入一个数字!!!");
//.var
int num = sc.nextInt();//阻塞式的方法,即这个方法不执行,代码就不会往下走
System.out.println("你输入的输入为:"+num);
System.out.println("请输入一个字符串!!!");
String s = sc.next();//以空格为标记进行读取
System.out.println("你输入的字符串为:"+s);
//作用:用于读取刚才的那个回车
sc.nextLine();
System.out.println("请输入一个字符串!!!");
String s1 = sc.nextLine();//以回车为标记进行读取
System.out.println("你输入的字符串为:"+s1);
System.out.println("请输入一个小数");
double num2 = sc.nextDouble();
System.out.println("你输入的小数为:"+num2);