Java笔记第二章:变量、数据类型、表达式、运算符

一、变量

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);
     }
 }
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值