1.1 标识符
标识符:起名字用的
1、字下美人数骆驼(巧记)–标识符应该由哪些元素组成
字母 下划线 美元符 人民币符 数字(一般在最后) 命名规范 小驼峰命名
_myName name%5(×) $yuan $_abc _a_b_c _A_B_C 5name(×)
MyName
2、同一个作用域名字不能重复
3、不能是java的关键字和保留字,字面常量
public class void static
java一共有50个关键字和保留字
null,true,false这个不是关键字,是字面常量
掌握:在java中如何起名字----
1.2 变量
变量:
变量是程序运行过程中,其值可以变化的量。
变量是一个符号,存数据用的
变量是内存中的一段空间
//如何使用
三步骤:声明,赋值,使用
三要素:数据类型 变量名 变量值
语法:规定编写的格式
数据类型(八种基本数据类型) 变量名;//声明
int num;
变量名 = 变量值;//赋值
num = 9;
System.out.println(变量名);//使用
变量的本质:
4g=1bit*8*1024*1024*1024*4
num----变量名---决定了变量地址----0x88eeef
数据类型-----决定了多少位(变量所占空间的大小)
值----这个变量所占的位具体存的是0还是1
当我们使用变量名的时候,实际上是使用的一个地址---找到里面的值
1.3 常量
运行过程值不能变化的量
语法:所有字母均大写
避免程序员修改这个值。
1.4 局部变量
概念:声明在方法内部的变量,必须先赋值再使用。
作用范围:定义行开始到所在的代码块结束。
[注意:多个变量,在重合的作用范围内,不可出现重名(命名冲突)。]
1.5 数据类型
java中有两种数据类型:
基本数据类型和引用数据类型
引用数据类型:
数组,类,接口
基本数据类型:
整数:byte,short,int,long
浮点数:float,double
字符型:char
布尔型:boolean
byte- 8位(1字节):-128~127
short-16位(2字节):-32768~32767
int-32位(4字节):-2147483648~2147483647
long-64位(8字节):
float-32位(4字节): 范围大于long 浮点型的数表示方式不一样
double-64位(8字节)
char-16位(2字节):0~65535 向下兼容ascll码 0~127
0--->48
a--->97
A--->65
boolean-32位(4字节):true/false 0/1 (运算时)
还是1字节 存储是1字节 jol工具
<dependency>
<groupId>org.openjdk.jol</groupId>
<artifactId>jol-core</artifactId>
<version>0.9</version>
</dependency>
大小:byte<short<int<long<float<double
结论:
整型默认的数据类型是int
浮点数默认的是double
运算按int算时,会隐式转换
类型之间可以转换,前提是转换的二者兼容
转换规则:
小转大--->自动转换
大转小--->强制转换 强制转换格式(类型 变量名 = (类型)值;)
double--->int:小数直接丢掉(会丢失精度)
算术运算不会隐式转换
赋值运算和复合赋值会隐式转换
2. 接受控制台输入
程序运行中,可在控制台(终端)手动录入数据,再让程序继续运行。
导包语法:import 包名.类名;//将外部class文件的功能引入到自身文件中。
- 使用顺序:
- 导入 java.util.Scanner。
- 声明 Scanner 类型的变量。
- 使用Scanner类中对应的方法(区分类型):
- .nextInt(); //获得整数
- .nextDouble(); //获得小数
- .next(); //获得字符串
- .next().charAt(0);//获得单个字符
注:如果输入了不匹配的数据,则会产生 java.util.InputMismatchException。
声明,赋值,使用
int num;
num = 8;
num = 输入得到;
java的类Scanner
1、导包----类的外面写---java所谓的导包是导的类---
import java.util.Scanner;
2、定义扫描仪
Scanner input = new Scanner(System.in);
3、提示输入:
System.out.println("请输入两个数,中间用换行隔开");
4、接收输入
int num1 = input.nextInt();
int num2 = input.nextInt();
double num = input.nextDouble();
String name = input.next();//不报错---String能存任何类型
char ch = input.next().charAt(0);
boolean flag = input.nextBoolean();
System.out.println(num1+"+"+num2+"="+num1+num2);