一、变量
1.概念:计算机中的一块内存空间,存储数据的基本单元
2.变量的组成部分:数据类型、变量名、数据
3.语法:
(1)先声明,再赋值
数据类型 变量名; int a;
变量名=数据; a=5;
(2)声明的同时赋值:
数据类型 变量名=值;
int b=8;
(3)同时定义多个同类型的变量:
数据类型 变量名1,数据类型=值,数据类型;
二、数据类型
1.基本数据类型(简单数据类型、原始数据类型)
B:字节,Byte 1B=8b(bit->位)
1KB=1024B
1MB=1024KB
1GB=1024MB
1TB=1024GB
(1)整数类型
byte 1B -128~127
short 2B -32768~32767
int 4B -2147483648~2147483647
long 8B -922京~922京-1
long的字面值后面需要加L/l(建议L,区分数字1)
(2)小数类型
float:4B,单精度,字面值后面必须加f/F
double:8B,双精度,字面值后面可以加D/d,也可以不加
注意:java中的float和double可以采用科学计数法的形式进行存储 1.23456792E8
(3)字符类型
char:2B,字面值形式如下:
a.单引号引起来的一个字符:char c='a';
b.使用整数形式进行存储,范围:0~65535
c.转义字符
'\t':水平跳格,tab
'\n':换行
'\'':直接打印 单引号
'\"':直接打印 双引号
'\\':打印一个反斜杠
(4)布尔类型
boolean:字面值为:true和false
true代表关系成立
false代表关系不成立,假
注意:区分C语言中的布尔类型
思考:long-8B和float-4B哪一个存储的数据范围大?
java中float可以采用科学计数法的形式进行存储,float存储范围比long范围更大
package demo;
public class Test3{
public static void main(String[] args){
float f=3.9F;
System.out.println(f);
double d=3.9;
System.out.println(d);
float f2=123456789.123456789f;
System.out.println(f2);//1.23456792E8
double d2=123456789.123456789;
System.out.println(d2);//1.2345678912345679E8
/*long r=12345678912345678912;//20位
System.out.println(r);*/
float f3=12345678912345678912f;
System.out.println(f3);//1.2345679E19
}
}
2.对象数据类型/引用数据类型
(1)类、接口、集合、数组等都为对象类型
(2)以字符串为例讲解 对象类型:
a.String为字符串,对象类型
b.字面值:以双引号引起来的一个或是多个字符
String str="Hello";
数据类型总结:实际应用
整数通常使用:int
小数通常使用:double
字符:开发偶尔用
布尔类型通常用于判断:分支结构、循环结构等
字符串:开发经常使用
案例:写出存储以下数据使用的数据类型:
姓名:String name=" ";
年龄:int age;
性别:char sex=' '; String sex=" ";
成绩:double score=99.5;
电话:String tel="12345678910";
身份证号码:String id=" ";(int型存不了最后一位x)
地址:String dz=" ";
三、数据类型之间的转换
1.自动类型提升
(1)场景:小数据类型 赋值给 大数据类型(存储数据的范围对应数据的大小)
(2)自动提升规则如下:
byte->short->int->long->float->double
char->int->long->float->double
2.强制类型转换
(1)应用场景:大数据类型赋值给小数据类型时,需要使用强制类型转换
(2)语法:
源数据类型 变量名1=值;
目标数据类型 变量名2=(目标数据类型)变量名1;
四、表达式
1.理解:通常由字面值、变量、运算符组成式子,一般有一个结果
2.表达式的结果类型规则如下:
(1)表达式中有double,则结果为double
(2)表达式中没有double,有float,则结果为float
(3)表达式中没有double、float,有long,结果为long
(4)其余情况,结果为int
byte+byte byte+short short+short
byte+int short+int int+int
五、运算符
1.算术运算符
+ - * / %(取余/取模)
java中的+两种应用:
(1)加法运算:如果+两端都为数值类型,则为加法运算
(2)字符串的拼接:只要+一端为字符串类型,则为字符串的拼接
注意:java中的布尔类型不能参与加法运算,但是可以参与字符串拼接
String s1="Hello";
String s1="world";
System.out.println(s1+s2);//Hello world
String m=2;
String n=5;
System.out.println(s1+m);//Hello2
System.out.println(s1+m+n);//Helo25
System.out.println(m+n+s1);//7Hello
System.out.println(s1+(m+n));//Hello7
2.赋值运算符
= += -= *= /=
int a=2;
a+=1;//a=a+1; a=2+1=3
a*=5;//a=a*5; a=3*5=15
a-=10;//a=a-10; a=15-10=5
3.比较运算符(关系/判断运算符)
>:大于
>=:大于等于
<:小于
<=:小于等于
==:等于
!=:不等于
注意:被关系运算符连接的表达式称为布尔表达式,关系成立-true;关系不成立-false;结果类型为布尔类型
4.逻辑运算符
&&:逻辑与,并且,两端连接的必须都为布尔表达式,两端同时为true,结果才为true。
||:逻辑或,或者,两端连接的必须都为布尔表达式,只要有一端为true,结果就为true
!:逻辑非,在结果上进行取反
5.一元运算符
++(自增) --(自减)
开发应用如下:
a++或是++a:让a变量自身加1
a--或是--a:让a变量自身减1
以下内容常用于开发面试或是考试:
int c=a++;//先使用再加一
int c=++a;//先加一再使用
int a=3;
int c=a++;//先使用再加一,int c=a=3;a=a+1=4;
int c=++a;//先加一再使用,a=a+1=4;int c=a=4;
int c=a--;//先使用再减一,int c=a=3;a=a-1=2;
int c=--a;//先减一再使用,a=a-1=2;int c=a=2;
System.out.println("a="+a);
System.out.println("c="+c);
6.三元运算符
(1)语法:
布尔表达式?表达式1:表达式2
(2)原理:判断布尔表达式的结果是否成立,成立-true,则执行表达式1;否则执行表达式2
六、扫描仪Scanner
1.作用:实现人机交互
2.使用步骤:
(1)导包:import 包名1.包名2.类名;//导入指定类
import 包名1.包名2.*;//导入包中所有类
注意:定义在pacakge语句的后面,所有类的上面;
一个源文件中可以定义多行import语句
import java.util.Scanner;
(2)创建Scanner对象:
Scanner sc=new Scanner(System.in);
(3)使用:
int n=sc.nextInt();//输入一个整数
double s=sc.nextDouble();//输入一个小数
String str=sc.next();//输入一个字符串
char c=sc.next().charAt(0);//输入一个字符
package demo;
import java.util.Scanner;//只导入一个类
import java.io.*;//io中所有的类
public class Test11{
public static void main(String[] args){
Scanner sc=new Scanner(System.in);
//使用
System.out.println("请输入一个整数:");
int n=sc.nextInt();
System.out.println("n="+n);
System.out.println("请输入一个小数:");
double d=sc.nextDouble();
System.out.println("d="+d);
System.out.println("请输入一个字符串:");
String str=sc.next();
System.out.println("str="+str);
System.out.println("请输入一个字符:");
char c=sc.next().charAt(0);
System.out.println("c="+c);
}
}