黑马程序员技术交流社区
标题: 简单基础 [打印本页]
作者: Chirwoel 时间: 2019-3-29 08:52
标题: 简单基础
基础计算机知识位(bit):一个数字0或1代表一位
字节(Byte):每逢8位是一个字节,这是数据存储的最小单位
1Byte=8bit
cmd的简单用法D:\>cd 传智播客(进入传智播客文件,按Tab键可以进行自动填充且快速选择)
D:\>cd ..(返回上一级)\..(再返回上级)
D:\>cd 文件夹名称\cd \ (直接返回D盘)
D:\文件名>dir (显示文件夹下所有文件信息)
D:\>cls (清屏)
D:>exit (退出cmd)
利用cmd输出Hello,World! 新建txt 命名 HelloWorld.java 内容如下:
Public class HellowWorld{
public static void main(String[] args) {
System.out.println(“Hello,World”);
}
}
打开cmd,切换到txt文件所在盘,输入内容如下:
D:\javac HelloWorld.java(将会生成HelloWorld.class文件)
D:\java HelloWorld (此处运行的是HelloWorld.class文件,若改动了txt文本内容,则重新生成.class文件即可,不需删除原有.class文件)
注意事项:
①txt内代码第一行的第三个单词必须与所在文件名完全相同;
②public class后面代表定义一个类的名称,类是java当中所有源代码的基本单位;
③第二行的内容是不变的固定写法,代表main方法;这一行代表程序执行的起点;
④第三行代表输出语句,希望输出什么,在小括号中修改即可。
IDEA软件快捷键alt+enter 修正代码
ctrl+alt+l 格式修正
ctrl+/ 选为注释
ctrl+shift 取消注释
alt+shift+上下键 移动当前选中行
常量分类1.字符串常量:以英文双引号引起的部分
2.整数(即无小数点)不用双引号将其引起
3.浮点数常量(有小数点)也不用双引号将其引起
4.字符常量:用单引号引起的单个字符即为字符常量
5.布尔常量:true和false (有且仅有这两个) 不需要用双引号引起
6.空常量:null 代表没有任何数据,不能直接打印输出
基本数据类型整数型:byte、short、int、long
浮点型:float、double
字符型:char
布尔型:boolean
注意事项:
1.字符串不是基本类型,而是引用类型
2.浮点型可能只是近似值,并非精确值
3.数据范围与字节数不一定相关,例如float数据范围比long更加广泛,但是float是4字节,long是8字节
4.浮点数当中默认类型是double,若一定要用float类型,则要加后缀F;若是整数,默认为int类型,若一定要用long类型,则要加后缀L
public class Demo01DateType {
public static void main(String[] args) {
long num1 = 100;
//一个等号代表赋值,将右侧的int常量,交给左侧的long变量进行存储
//左边是long类型,右边是int类型,类型不一
System.out.println(num1);
//从int到long符合了从小到大的原则
//这一行代码发生了自动类型转换
double num2 = 2.5F;
//float取值范围比double大,但是占用的字符比TA小
System.out.println(num2);
float num3 = 30L;
System.out.println(num3);//由于float是浮点数,所以输出结果会是 30.0
}
}
变量及变量的赋值变量:程序运行期间,内容可以发生改变的量
变量的赋值格式①:
数据类型 变量名称;(创建了一个变量)
变量名称=数据值;(将右边的数据值赋值给左边)
变量的赋值格式②(一步到位的格式):
数据类型 变量名称=数据值(在创建变量的同时赋值其指定的值)
注意事项:
1. 如果创建多个变量,那么同一个大括号内变量之间的名称不可以重复
2. 对于float和long类型,后缀不能省略
3. 如果使用byte和short类型,要注意赋范围
4. 没有进行赋值的变量,不能直接使用,一定要赋值
5. 变量使用不能超过作用域的范围
<作用域>:从定义变量的一行开始,一直到所属大括号为止
6. 可以通过一个语句来创建多个变量,但不建议使用
7. 在给变量进行赋值的时候,若右侧全为常量,那么编译器java会将常量表达式计算得到结果——这称为“编译器的常量优化”
public class Demo02Varable {
public static void main(String[] args) {
int num1;//向变量当中存入一个数据
//格式:数据类型 变量名称;
num1 = 10;//向变量当中存入一个数据
//格式:变量名称 = 数据值
System.out.println(num1);//当打印输出变量名称的时候,显示出来的是变量的内容
num1 = 20;//改变变量当中本来的数字,变成新的数字
System.out.println(num1);
int num2 = 25;//使用一步到位的格式来定义变量
//格式:数据类型 变量名称 = 数据值
num2 = 35;
System.out.println(num2);
System.out.println("--社会主义分割线--");//自定义分割线
byte num3 = 30;
//注意:右侧数值的范围不能超过左侧数据类型的取值范围,byte取值范围为-128~127
System.out.println(num3);
short num5 = 50;
System.out.println(num5);
long num6 = 3000000000L;//因为默认的是double,所以若要用long则要加L
System.out.println(num6);
float num7 = 2.5F;
System.out.println(num7);
double num8 = 1.2;
System.out.println(num8);
char num9 = '中';
System.out.println(num9);
boolean T = true;
System.out.println(T);
boolean F = T;//将T赋值给F,即F=T=true
System.out.println(F);
}
}
编译器的常量优化定义:在给变量进行赋值的时候,如果右侧的表达式当中全是常量 ,那么编译器会直接将常量计算得到结果,这称为编译器的常量优化
注意事项:
1.对于byte short char 三种类型来说,如果右侧赋值的数值没有超过左侧范围,那么编译器会自动不上(byte)(short)(char)
2.对于byte short char 三种类型来说,如果右侧超过了左侧范围,那么直接报错
public class DemoNotice {
public static void main(String[] args) {
byte num1 = 30;
System.out.println(num1);//符合注意事项1
short a = 5;
short b = 8;
short result = 5 + 8;//输出结果为13
}
}
数据的类型转换当数据类型不一样时,将会发生类型转化
自动类型转换(隐式)
1.特点:代码不需要进行特殊处理,自动完成
2.规则:数据范围从小到大
强制类型转换(显式)
1.特点:代码需要进行特殊格式处理,不能自动完成
2.格式:范围小的类型 范围小的变量名 = (范围小的类型) 原本范围大的数据
注意事项
1.强制类型转换一般不推荐使用,因为有可能发生精度损失、数据溢出
2.byte short char 这三种类型都可以发生数学运算,例如加法“+”
3.byte short char 这三种类型在运算的时候,都会首先被提升为int类型再进行计算
4.boolean 类型不能发生任何数据类型转换
public class Demo02DateType {
public static void main(String[] args) {
int num = 100;
System.out.println(num);
int num1 = (int) 200L;
System.out.println(num1);//强制类型转换
int num2 = (int) 6000000000L;//由于该数字超出了int的数据范围,所以会出现 数据溢出
System.out.println(num2);//结果显示为 1705032704
int num3 = (int) 3.5;
System.out.println(num3);
//结果显示为 3
//int是整数,所以结果显示为整数,其小数部分会被舍弃,不属于四舍五入
char num4 = 'A';
System.out.println(num4 + 1);
//计算机中A的access码为65 此时输出为 65+1=66
//一旦char类型进行了数学运算,那么字符就会按照一定的规则翻译成数字
byte num5 = 40;
byte num6 = 50;//注意数值范围
int result1 = num5 + num6;
//注意事项3 被提升为了int 所以result1前面要用 int
//也可以强制转换(只要没超出范围):byte result1 = (byte) (num5 +num6)
System.out.println(result1);
}
}
四则运算表达式运算符:进行特定操作的符号
表达式:用运算符连起来的式子
四则运算:
加:+
减:-
乘:*
除(取商的整数结果):/
取模(取余数):%
注意事项:一旦运算当中有不同类型的数据,那么结果将会是数据类别范围大的那种
四则运算中的“+”号有常见的三种用法:
1.对于数值来说,是加法
2.对于char,char会提升为int再计算
3.对于字符串String来说,加号代表字符串连接操作
4.任何数据类型和字符串进行连接的时候都会变成字符串
自增/自减运算符自增运算符:++
自减运算符:--
基本含义:让一个变量长一个/降一个数字1
使用格式:写在变量名称前/后
使用方式:
1.单独使用:不和其他任何操作混合,自己独立成为一个步骤
2.混合使用:和其他操作混合,例与赋值/打印操作混合
使用区别:
1.单独时,前++与后++无区别
2.在混合使用时候,有重大区别
①如果是前++,那么变量立刻马上+1,然后以+1的结果进行使用
②如果是后++,那么先用原来数据,然后再让变量+1
注意事项:
只有变量才能使用自增或自减运算符,常量不可变所以不能用
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |