文章目录
- java中的基础知识
- 一、java程序是如何运行的?
- 二、java基本的语法规则(大体和c语言相差无几)
- 1).java 的变量和类型
- 以下着重来介绍一下基本数据类型
- 数值型:
- byte: (字节型变量)
- short:(短整型变量)
- int:(整型变量)
- long:(长整型变量)
- float :(单精度类型)
- double:(双精度类型)
- 字符型
- 布尔型
- 字符串类型变量:
- 变量的作用域
- 变量的命名规则
- 类型转换
- 数值提升
- int 和 string 之间相互转化
- 2). 运算符
java中的基础知识
一、java程序是如何运行的?
首先打开电脑的磁盘空间,在里面创建一个文件夹,用记事本打开它,在里面写出自己要写的程序,结束之后将文件的后缀改为 .java ,然后保存。(譬如,此处我们将文件名叫做:HelloWorld.java )
随后鼠标置于空白处,按住 shift 键不放,之后右击选中 “打开powershell窗口 ” 一栏 。
javac 先编译该文件,编译之后生成一个二进制的.class文件,之后再用java命令来运行,就可达到预期效果。(java 和 javac 都是jdk命令)。另外,那个.class 的字节码文件是在 jvm 中运行的,也就是说,这个字节码文件如果发给别人就可以直接运行。(这也就是所谓的一次编译到处运行)
二、java基本的语法规则(大体和c语言相差无几)
1).java 的变量和类型
以下着重来介绍一下基本数据类型
数值型:
整型:byte(1个字节),short(2个字节),int(4个字节),long(8个字节)
byte: (字节型变量)
byte 变量名 = 初始值;
byte value = 0;
short:(短整型变量)
short 变量名 = 初始值;
short value = 0;
int:(整型变量)
int 变量名 = 初始值;
int num = 10;
long:(长整型变量)
long 变量名 = 初始值;
long num = 10l;
//次数的变量的赋值
//一般是使用10L或10l
//这样可以直观的表示其是一个长整型变量
浮点型:float(4字节)double(8字节), 注意:在 java 中浮点型数据的存储还是遵从 IEE754 标准所以说它的取值范围不能简单地像整型数据那样表示出来。
float :(单精度类型)
float num = 1.0f;
//f大小写皆可
//精度过低,不推荐使用
double:(双精度类型)
double num = 1.0;
要注意的点:
- 在 java 中 整型除以整型最终得到的实质还是整型,电脑会自动将证书后面的小数舍去。
- 如果要得到小数那就使用双精度类型的 double 相除,就会得到一个小数。
- 还有就是 double 也不是极其精确的,比如在电脑中执行 1.1 乘以 1.1 的时候,就会存在一定的误差。
- 还有,double 在内存中的存储方式也服从 IEEE754 标准(其实这也是它误差的来源,在折磨小的一个内存空间里面要想塞下一个双精度浮点数)
字符型
基本格式:
char 变量名 = 初始值;
char ch = 'A';
char ch = '呵';
注意事项:
在 java 中使用单引号加单个字母的形式表示字符的字面值。
在 java 中使用 unicode 表示字符,一个字符就占用两个字节,表示的字符种类更多,包括中文。
java 中的char 类型变量的取值范围和 C语言中的取值范围一样。
布尔型
布尔类型的特点就是给变量的结果就是 ture 或者 false 。所谓布尔表达式本质上其实就是表达式结果为 ture 或者为 false。
boolean value = ture;
boolean value = false;
注意:boolean 类型有些 jvm 是占一个 bit 有些是占一个 byte,这个是没有明确规定的。
字符串类型变量:
当我们把一些字符放到一起就构成了字符串。
String 变量名 = "初始值";
String name = "zhangsan";
注意事项:
String 不是基本类型,而是引用类型
字符串中一些不太方便直接表示的字符需要直接转义
变量的作用域
变量的中作用域也就是该变量能生效的范围,一般是变量定义所在的代码块(类比C语言中局部变量的知识点)
变量的命名规则
硬性指标:
- 一个变量名只能包括数字,字母,下划线
- 数字不能放开头
- 在java当中,变量名是大小写敏感的。即num 和Num 是两个不同的变量
- 此外,要注意的是:虽然语法上也允许中文或者美元命名变量,但是强烈不推荐这么做。
软性指标:
类型转换
//int和long之间相互赋值
int a = 10;
long b = 20;
a = b;//编译出错,提示可能会损失精度
b = a;//编译通过
//int和double之间相互赋值
int a = 10;
double b = 1.0;
a = b;//编译出错,提示可能会损失精度
b = a;//编译通过
总结:以上可以看出,其规则其实很简单,小范围的可以提升以后赋给大范围
但是大范围的如果赋给小范围的就会报错。
此外,还有要注意的点就是:int 和 Boolean 是两种毫不相干的类型,不能相互赋值。
数值提升
int 和 string 之间相互转化
int 转成 String
int num = 10;
String str1 = num + "";//方法一
String str2 = String.valueof(num);//方法二
String 转成 int
String str = "100";
int num = Integer.parseInt(str);
2). 运算符
- int/int 结果还是 int ,需要使用 double 来计算
算出结果之后,舍去小数部分即可 - 0 不能作为除数
- % 表示取余,不仅仅可以对 int 求模,也能对 double 来取模
2). 运算符
- int/int 结果还是 int ,需要使用 double 来计算
算出结果之后,舍去小数部分即可 - 0 不能作为除数
- % 表示取余,不仅仅可以对 int 求模,也能对 double 来取模