标签:常变量、字面值、Scanner读取
本文将以例子入手,讲解java中:
基本数据类型
变量、常量→从控制台读入
字面值→类型转换
导包、自带函数
1. 变量[名]
- 定义:给变量取的名字,标识某个变量
- 取法:见名知意→int radius,double Area
- 写法:驼峰原则,首字母大小且剩下的单词首字母大写
- 声明:【数据类型 变量名】,如int radius;
- 此时,编译器已经为其分配了对应大小的内存空间;
- 多声明:int x=1,y,z=6;
- 赋值:【变量名 = 值】,如radius = 3;
- 属性:名字、类型、大小、值;
- 分类:
- 局部变量
- 方法体内的,如main方法中的所有变量;
- 作用域:声明处到块尾
- 成员变量之实例变量
- 方法体外,类中的变量,且前面没有static修饰
- 需要有“对象”才能访问
- 作用域:某个对象内部;
- 成员变量之静态变量
- 方法体外,类中的变量,且前面有static修饰
- 可通过对象.访问和类名.访问
- 作用域:方法区内存中的该类中的区域;
- 局部变量
2.标识符
- 定义:给元素起的名字,元素包括类、变量、方法;
- 规则:字母数字下划线和$,并且数字不可打头阵,任意长度,不能是保留字
- 规范:见名知意
- 写法:变量名和方法名驼峰,类名首字母全大写,常量全大写并用_分割;
3. 数据类型
基本数据类型(值):byte、short、int、long、float、double、char、boolean
引用数据类型(地址值/引用):
- 预定义类型:String,StringBuffer
- 自定义类型 :Animal
4.导包
- 单个导入:import java.util.Scanner;
- 通配符导入:import java.util.*;
值得注意的是,导入这一动作仅在执行到某类时才会进行导入。
5. 赋值[=]
即把等号右边的先执行,然后将其赋值给左边的变量;
【注意】赋值要求左右两边类型兼容,即:
- 向上转换→自动进行→double x = 3;
- 向下转换→显式转换→int x =(int)8.0;
- 特别的,short和byte的变量如果赋予int型字面值,可以自动转换;
增强赋值:+=,/=,-=,*=,%=;
自增,自减运算法:++,--;
6. 字面量
- 定义:直接出现的常量
- 分类:基本字面量和引用字面量
- 举例:3,65.7,“还是地方”;
- 规范:整数字面量(如99)一旦出现默认为int数值类型,小数一旦出现默认为double类型;
- 99L,12.55F;
- float→7~8位小数位;
- double→15~17位小数位;
- 进制整数:0B111→2进制,0777→8进制,0x888→16进制;
- 规定:可以在字面值之间加上_,更为易读,如8834_838434;
7.优先级:
算数>关系>逻辑
特别的,在类型转换中,先类型转换,后执行方法:
double先转换1→1.0,然后1.0/2=0.5,返回;
8.Scanner读取
- 模板:
这里的绿色框左边的Scanner相当于数据类型,类似于int,右边则是类的实例化,通过new创建Scanner对象,其中System.in作为其构造方法的参数,表示从控制台读取(思考下从控制台输出是什么?),由此构造了一个对象,最后可以直接读取。
9.注意点
"/"运算符用于整数操作时,会返回整数:
9/4=2;
9/3=3;