标识符
标识符:给类,接口,方法,变量等起名时使用的字符序列
规则:
1.英文大小写构成
可以有数字,下划线_和$存在
规范
1.不能以数字开头
2.不能是Java中的关键字
3.区分大小写
4.要见名知意
5.不要出现除了下划线_和$以外的特殊字符
包(其实就是文件夹,用于解决相同类名问题) 由英文小写字符构成
单级:shujia
多级: com.shujia.day01
### 类或者接口 每个单词首字母大写,其余字符小写
一个单词:Student
多个单词:HighStudent
### 方法和变量 第一个单词全部小写,从第二个单词开始,首字符大写
一个单词:eat
多个单词:playGame
### 常量 所有字符都是大写,单词与单词之间使用下划线拼接
一个单词: NAME
多个单词: FIRST_NAME
注释
/*
注释:用于解释说明的文字
单行注释:// 被注释的文字
多行注释:/※ 被注释的文字 ※/
文档注释:/※※ 被注释的文字 ※/
注释的作用:
1、解释说明程序
2、帮助我们排错(后面会学习debug排错)
*/
class类
1、在IDEA中,一个java文件中可以编写多个class类,将来编译的时候,有多少个class类,就会产生多少个class文件
2、但是只能有一个class类被public修饰,并且加public修饰的类必须要与java文件名字一致!
关键字
关键字:被java语言赋予特殊含义的单词
特点:都是小写字母构成
识别:像IDEA这样的工具,可以将关键字赋予特殊的颜色
常量
常量:在java程序运行过程中,其值不会发生改变的量(进制准换具体见前面的随笔)
分类:
字面值常量:
整数常量:所有的自然整数都是整数常量
二进制:由0,1构成,逢2进1,以0b开头
八进制:由0,1,2,3,4,5,6,7构成,逢8进1,以0开头
十进制:由0,1,2,3,4,5,6,7,8,9构成,逢10进1,默认整数就是10进制
十六进制:由0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f构成,逢16进1,以0x开头
注意:在IDEA中控制台默认输出的进制是10进制的结果
进制转换:
其他进制到10进制:系数*原进制数指数次幂之和
10进制转其他进制:除基取余,直到商为0,余数反转
其他进制到其他进制:由10进制为中间桥梁转换
2进制与十进制之间的快速转换:8421码
计算机中所有的运算都是采用补码的形式进行的
原码:
正数的原码与二进制一致,最高位为0
负数的原码数值位与二进制一样,最高位是1
反码:
正数的原码,反码,补码一致
负数的反码与原码,符号位不变,数值位按位取反
补码:
正数的原码,反码,补码一致
负数的补码是反码的末位+1
小数常量:12.34
字符串常量:由双引号组成的若干个字符 "hello"
字符常量:由单引号括起来的单个字符 'a'
布尔常量:true false
空常量(放到数组的时候讲解): null 结合变量或者表达式使用
自定义常量:(放到面向对象的时候讲解)
public class ChangLiangDemo1{
public static void main(String[] args){
//输出整数常量100
System.out.prntln(100);
//输出各种进制的100
System.out.println(0b100);
System.out.println(0100);
System.out.println(100);
System.out.println(0x100);
//输出一个小数常量
System.out.prinyln(12.34);
//输出一个字符串常量
System.out.println("hello");
System.out.println('a');
System.out.println(true);
System.out.println(false);
}
}
变量
数据类型:Java是强类型语言,每一个数据都被定义一个固定的数据类型
分类:
1.基本数据类型
整数类型 | 所占总字节数 | 范围 |
---|---|---|
byte | 1个字节 | -27~27-1 |
short | 2个字节 | -215~215-1 |
int | 4个字节 | -231~231-1 |
long | 8个字节 | -263~263-1 |
小数类型 | 所占字节二总数 | 范围 |
---|---|---|
float | 4个字节 | -231~231-1 |
double | 8个字节 | -263~263-1 |
字符类型 | 所占字节二总数 | 范围 |
---|---|---|
char | 根据实际编码变化 |
布尔类型 | 所占字节二总数 | 范围 |
---|---|---|
boolean | 1个字节 | -27~27-1 |
2.引用数据类型(数组,面向对象的时候再来补充)
变量定义的语句格式
数据类型 变量名=初始化值;
注意事项:
1.在同一个作用域下(同一个大阔号下),变量名不能重复出现
2.整数的默认类型为int类型,想要定义一个long类型的变量,需要在数值的后面加上L或者是l,推荐使用L
3.小数默认的double数据类型
4.想要定义一个float类型的变量,需要在数值的后面加上F或者是f,推荐使用F
5.遍历必须要有初始化值,否则无法使用
public class DataTypeDemo1{
public static void main(String[] args){
//定义一个byte数据类型的变量
byte b1 = 100;
System.out.println(b1); //使用变量实际上就是使用变量中存储的值
//定义一个short数据类型的变量
short s1 = 1000;
System.out.println(s1);
int i1 = 10000;
System.out.println(i1);
long i2 = 10000000000000L;
System.out.println(i2);
//定义一个float数据类型的变量
float f1 = 12.34F;
System.out.println(f1);
double d1 = 12.34;
System.out.println(d1);
char c1 = '数';
System.out.println(c1);
boolean b2 = true;
boolean b3 = false;
System.out.println(b2);
System.out.println(b3);
{
int z1 = 200;
System.out.println(z1);
}
int z1 = 300;
System.out.println(z1);
int z2;
z2 = 100;
System.out.println(z2);
//建议一行只定义一个变量
// int n1;
// int n2;
// int n3;
// int n1;int n2;int n3;
//一次性定义多个同一数据类型的变量
int n1,n2,n3;
}
}
面试题
/*
面试题:
byte b = 130; 有没有问题?
怎么解决?强制类型转换。
*/
public class DataTypeDemo3 {
public static void main(String[] args) {
byte b = (byte)140;
System.out.println(b); // -116
}
}
/*
130的二进制:10000010
130的补码:00000000 00000000 00000000 10000010
截取后:10000010
已知补码求原码:
符号位 数值位
补码: 1 0000010
反码: 1 0000001
原码: 1 1111110
64+32+16+8+4+2 -> -126
*/
package com.shujia.day02;
/*
面试题:
System.out.println(’a’);
System.out.println(’a’+1);
System.out.println("hello"+’a’+1);
System.out.println(’a’+1+"hello");
System.out.println("5+5="+5+5);
System.out.println(5+5+"=5+5");
结论:
1、加号➕两边只要有一边是字符串,就做字符串拼接操作,结果依旧是字符串
2、加号➕之间的运算顺序是从左向右
3、加号➕两边只要没有字符串,就做加法运算
*/
public class DataTypeDemo4 {
public static void main(String[] args) {
// System.out.println('a');
// System.out.println('a' + 1); //字符与数值之间运算,会先将字符转变成对应的ASCII码值,再运算
System.out.println("hello" + 'a' + 1); // helloa1
System.out.println('a' + 1 + "hello"); // 98hello
System.out.println("5+5=" + 5 + 5); // 5+5=55
System.out.println(5 + 5 + "=5+5"); // 10=5+5
}
}
标签:进制,java,常量,int,System,println,变量,out
From: https://www.cnblogs.com/peculiar/p/18025579