Java中的变量
变量
变量 就是Java中用于存储数据的,里面可以存放不同的数据,叫变量。
常量 就是Java中用于存储数据的,里面存放的数据不可以改变,叫常量。
变量其实就是 一块内存,操作内存时,直接使用内存 是不现实的(安全性问题,记不住),变量名代表一块内存,就可以操作了。
变量的使用
变量声明和初始化
变量想要被使用,必须进行声明和初始化。
变量的声明: 就是程序员 给计算机 介绍变量。 需要变量类型 变量名 , 也可以同时 进行初始化。
变量声明 的只需要一次,后面可以直接使用。
变量的初始化 就是 变量的第一次赋值。后面再赋值,就不是初始化。
格式:
变量类型 变量名 = 值 ;
String name = "zhangfei" ; //声明的同时 进行了初始化
String name2 ; //先声明
name2 = "guanyu"; //后初始化
标识符
Java 对各种变量、方法和类等要素命名时使用的字符序列称为标识符
技巧:凡是自己可以起名字的地方都叫标识符。
定义合法标识符规则
-
由26个英文字母大小写,0-9 ,_或 $ 组成
-
数字不可以开头。
-
不可以使用关键字和保留字,但能包含关键字和保留字。
-
Java中严格区分大小写,长度无限制。
-
标识符不能包含空格。
Java中的名称命名规范
- 包名全小写,不同的单词用.或下划线_隔开。 user.name
- 类名 首字母大写,其他单词的首字母也要大写。 UserName
- 变量名/方法名,首字母小写,其他单词的首字母要大写。 userName
- 常量 所有字母全大写,不同单词用下划线隔开。 USER_NAME
- 不同的部分用空行隔开。
- 要有缩进,不同层级要用2个空格或者4个空格。
- 变量名/方法名要有实际意义,不要直接用a/b/c。
变量的输入
Scanner 可以解决
1、导包 在 class和 package 之间 import java.util.Scanner;
2、new 一下,新建一个扫描器 Scanner sc = new Scanner(System.in);
3、用sc.next() 读键盘的文本信息; sc.nextInt() 读键盘的整数信息。
注释
//单行注释
/*
* 多行注释
*/
/**
* 文档注释
*/
"//"是单行注释,开始到本行结束 ,注释是对代码的说明,写给程序员看的;计算机在执行代码时,注释不会参与。
文档注释(Java特有)
格式:/**
@author 指定java程序的作者
@version 指定源文件的版本
*/
注释内容可以被JDK提供的工具 javadoc 所解析,生成一套以网页文件形
式体现的该程序的说明文档。
操作方式
在cmd命令行操作 D:\javase\code\unit1>javadoc -d mydoc -author -version HelloWorld.java
Java常见的数据类型
计算机是数据的存取和运算。 – 数据结构和算法组成的
数据的存取放在内存中的,数据类型就是 告知计算机 开辟多大的空间去存储数据,也是取出数据的依据。
基本类型:
布尔类型 -- 真或者假 boolean flag = true; boolean flag = false;
字符类型 -- 一个字符 '1' 'a'
'ab'(错) String "ab"
其实,字符类型是以 编号的方式存储的,这个编号叫编码。 ascii码 ISO UTF GBK gb2312 Big5
A 其实 底层存的是编码,A 的编码 65 a 的编码 97 数字0的编码 48
整数类型 -- 4种 byte short int(默认) long
内存大小不一样: 1个字节 2个 4个 8个
小数类型(浮点) -- float double(默认)
4个 8个
int 和 double 会就可以了。
引用类型:
所有的类、所有的接口、所有的枚举、所有的标注、所有的数组 都是引用类型。
其中,引用类型才是 符合面向对象的,基本类型不是对象,不符合面向对象的编程思想。
为什么在java中int类型和float类型都是4个字节,但是float类型的数值范围却大于int的数值范围
其原因就是:int类型和float组成结构
先说此两种数据类型的组成结构
int类型:第一位是符号位代表正负,剩下的31位表示数值位。
float类型:第一位是符号位代表正负,余下的是八位指数位和23位底数位(底数是无符号的)。
说完组成结构,再说这两种数据类型不同的位之间是如何组合的。
int:此类型是各个位之间表示的值直接相加,所以表示的值范围是-2^31 ~ 2^31 - 1。
float:此类型是8位指数23位底数,这么来说可以表示最大的值就是223127,最小值就是-223127。所以范围就是-223127 ~ 223127。
由上面的分析可以知道,在Java的不同数据类型之间虽然可能是占用相同的字节,但是不同数据类型对于位数的组合不同,数值范围也会有很大的区别。