整数
小数
字符常量:单引号引起来的单个字符(中英文都行)
字符串常量:双引号引起来的多个字符(中英文都行)
布尔常量:true,false
null(空常量)
class ConstantDemo{
/*public是权限修饰符
static是静态修饰符,void是返回值修饰符,void表示返回值为空,在Java中调用包使用import 类名*/
public static void main(string[] args){
//输出字符串常量//
System.out.println("HelloWorld");
//输出字符常量//
System.out.println('A');
//输出整数常量//
System.out.println(100);
//输出小数常量//
System.out.println(3.1415926);
//输出布尔常量//
System.out.println(true);//真
System.out.println(false);//假
}
}
快速转换算法
2进制
1byte = 8bit
1kb = 1024byte
1M = 1024kb
1G = 1024M
1T = 1024G
8进制
把2进制数据每3位分一组,不够的前面补
16进制
把2进制数据每4位分一组
每一位上的数字称为系数
这个数的表现形式是几进制,这个几进制就是基数
从右往左数,系数后面的0的个数
转换公式就是:系数*基数权数
你要转换到几进制,几进制称为基数
除基取余,直到商为0,余数反转
2 | 2=21 | 4=22 | 8=23 | 16=24 | 32=25 | 64=26 | 128=27 | 256=28 |
---|---|---|---|---|---|---|---|---|
二进制 | 10 | 100 | 1000 | 10000 | 100000 | 1000000 | 10000000 | 100000000 |
原码:最高位为符号位(0为正,1为负),其余二进制位为数据位。
正数的原反补是一样的
负数的反码:负数原码符号位不变,其余取反
负数的补码:在其反码末位加1
A:已知原码求补码
已知某数X的原码为 0B 1 0110100,试求X的补码和反码。
原码 符号位 数值位
1 0110100
这是一个负数,负数的反码是原码符号位不变,数值位按位取反
反码 符号位 数值位
1 1001011
负数的补码是反码的最后一位减一(此为二进制加减运算)
补码 符号位 数值位
1 1001100
B:已知补码求原码
已知某数X的补码 0B11101110,试求其原码。
反码 符号位 数值位
1 1101101
原码 符号位 数值位
1 0010010
在程序执行过程中其值可以发生变化的量
变量就是在内存中间开辟出的一小块空间,这个空间中用来存放数值类型的变量。空间的大小通过数据类型来判定
整数型:
byte(1个字节)-128------+127
思考题:为什么byte代表的十进制范围是-128-------127之间
参考博客byte类型数据范围分析
short(2个字节) -32768 ~32767
int(4个字节) -2147483648~2147483647
long(8个字节) -9223372036854775808~9223372036854775807
小数型:
float(4个字节) 1.4E-45~3.4028235E2828
double(8个字节)4.9E-324~1.7976931348623157E308
布尔型 Boolean(1个字节)
字符型 char(2个字节)
class VariableDemo{
public static void main(String[] args){
//变量名的命名规则遵循通用规则,变量名建议小写,例:studengtName
//定义不同数据类型的变量,输出
byte num1 = 56;
int num2 = 1000;
short num3 = 2000;
//定义long类型的变量,值的后面要加上一个L来表示这是一个long类型的值
long num4 = 10000000L;
//定义小数
//定义float类型的变量,值的后面要加上一个F来表示这是一个float类型的值
float num5 = 3.14F;
double num6 = 3.1415;
//定义布尔类型
boolean Y = true;
boolean N = false;
//定义字符类型,字符类型的值是单引号''引起来的单个字符
char name1 = 'a';
char name2 = '我';
//输出变量值
System.out.println(num1);
System.out.println(num2);
System.out.println(num3);
System.out.println(num4);
System.out.println(num5);
System.out.println(num6);
System.out.println(Y);
System.out.println(N);
System.out.println(name1);
System.out.println(name2);
}
}
class VariableDemo2{
public static void main(String[] args){
//定义变量的注意事项
//1.在同一作用域不能定义两个同名变量
//作用域即一对{}所括起来的范围
//变量的四类八种
//整数
byte
int
short
long
//小数
float
double
//布尔
boolean
//字符
char
//2.变量没有赋值,不能使用
int j,f; // 这样做是合法的
j = 50;
f = 60;
//一行上可以定义多个变量,但建议一行定义一个变量,这样不容易出错
//定义float类型后面要加F,定义long类型后面要加L
//整数默认int类型,浮点数默认double类型
}
}
在用Commend Window进行编译代码时,由于Windows使用的编码方式是GBK编码,而很多第三方软件默认的是UTF-8编码,这样你用这个软件写出来的带中文注释的文件在Commend Window界面进行编译时,中文注释点会不停的报错
这个问题可以这样解决
方法一:如图所示
方法二:用javac -encoding utf-8 +文件名(包括没扩展名)这句命令来编译文件即可
1.选择工具,配置用户工具
2.选择一个组,更改组名为“编译和运行Java”,添加工具-应用程序,之后如下配置javac和java两个命令,之后使用快捷键ctrl+1,ctrl+2即可编译运行Java
javac的 参数=文件名,初始目录=文件目录,动作=捕获输出
java的 参数=文件名(不含扩展名),初始目录=文件目录,动作=捕获输出
和运行Java”,添加工具-应用程序,之后如下配置javac和java两个命令,之后使用快捷键ctrl+1,ctrl+2即可编译运行Java
javac的 参数=文件名,初始目录=文件目录,动作=捕获输出
java的 参数=文件名(不含扩展名),初始目录=文件目录,动作=捕获输出
[外链图片转存中…(img-mGndD2q3-1585665838332)]
[外链图片转存中…(img-VnQDizio-1585665838332)]