package day01;
/**
- 三种注释:单行、多行、文档
- @author Administrator
*/
public class Demo {
// 单行注释
/*
* 多行注释
* 多行注释
* 多行注释
*
* */
/**
*
* 文档注释
*
*/
}
变量的声明:
package day01;
/**
- 变量的声明
-
1.什么是变量:在内存中开辟一个区域,用于存储运行时所需要的数据
-
2.变量的声明:
-
2.1声明并初始化
-
2.2声明多个变量
-
2.3声明多个变量,并为某些变量初始化
-
3.变量的命名
-
3.1变量命名见名知义,使用驼峰命名
-
3.2关键字不能用、不能以数字开头、不推荐使用中文命名
-
3.3命名组成由数字、字母、$、_
-
4.变量使用的注意事项
-
4.1未声明变量是不能够使用的
-
4.2声明但未初始化的变量也是不能使用
-
4.3变量的值和类型尽量的匹配
- @author Administrator
*/
public class Demo2 {
public static void main(String[] args) { // 入口方法-->程序开始运行的地方
/*
* 变量声明的语法格式:
* 类型 变量名 = 变量的值;
* 类型 变量名 ;
* 类型 变量名, 变量名 ;
* 类型 变量名, 变量名=变量值 ;
* */
int i = 10; // 类型 变量名 = 变量的值;
int i1 ; // 类型 变量名 ;
int i2, i3; // 类型 变量名, 变量名 ...;
int i4, i5=6; // 类型 变量名, 变量名=变量值 ;
/*
* 变量的命名(见名知义)
* */
// int 年龄 ; // 坚决不推荐的
// int 1s; 不能以数字开头
// int class; 不能以Java的关键字和保留字进行命名
/*
* 推荐的:驼峰命名法
* 一个单词:全小写
* 多个单词:第一个单词首字母小写,剩下的每个单词首字母大写
*/
int age; // 年龄
int myBrotherAge; // 我的兄弟的年龄
// 大小写敏感
int myAge; // 我的年龄
int myAGe; // 我的年龄
/*
* 变量的使用注意事项
* */
// 没有声明的变量是不能使用的
// int age1 = a;
// 没有初始化的变量是不能使用的
// age = 10;
// System.out.println(age);
// 变量赋值时要和类型匹配
// age = “今天天气不错”;
// 打印输出
// System.out.println(“今天天气不错”);
}
八大基本类型:
package day01;
/**
- 演示八大基本类型
-
byte、short、int、long、float、double、char、boolean
-
int(整型,整数):
-
范围:-21亿~21亿
-
超出范围会造成什么影响
-
整数除法的问题,得到只是整数
-
long(整型,整数):
-
long定义:需要在结尾增加L/l
-
时间戳(当前时间距离1970-1-1 00:00:00毫秒数)
-
double(浮点数据,小数):
-
精确的表示16小数
-
精度的问题:不能精确的表示1/10,使用BigDecimal
-
float:定义时,需要在结尾增加F/f
-
char(字符型,2^15-1,无符号):
-
定义:''、int值
-
Unicode编码:编码表
-
转义字符:转义语法\,常见的转义\n、\r、\'、\"、\\
-
boolean:true、false
- @author Administrator
*/
public class Demo3 {
public static void main(String[] args) {
/*
* int:整型数据(整数),整型的直接量就是int
* 大小范围:-21亿~21亿,-2^31~2^31-1
* 使用时不能超过其大小(报错)
* 直接量的形式(编译报错)
* 运算的形式(编译不报错),结果会出现问题
* 整型数据做除法,得到的结果只会保留整数部分,小数部分统统舍去
* */
int i = 1;
// int i2 = 30000000000; // 超过大小报错
int i3 = 1024*1024*1024*6; // 运算的时候,超过并不会报错,但是会出现意想不到的结果
System.out.println(i3);
// 整型数据做除法
int i4 = 80/100; // 结果是:0.8 -> 0
System.out.println(i4);
/*
* long类型:整数,范围-2^63~2^63-1,使用的时候需要在数字的结尾添加L/l
* 应用场景:用于表示时间戳(当前时间与1970-1-1 00:00:00相距的毫秒数)
*
* */
long l = 100L;
long times = System.currentTimeMillis(); // 获取时间戳
System.out.println(times);
/*
* double类型:浮点型(小数类型),浮点型的直接量就是double类型,范围比long还要大,小数部分只能精确到16位
* float类型:
* 小数的精确度:不能够精确表示1/10等类似的情况,所以在精确计算的时候不能够使用浮点类型,使用到的是BigDecimal
*
* */
double d = 2.50111111111111111111111111;
System.out.println(d);
float f = 2.511111111111111111f;
System.out.println(f);
double d2 = 1.06-1.04;
System.out.println(d2);
/*
* char类型:字符类型,60000+
* 转义:在Java中有一些字符具有特殊的意义,党想使用这些特殊的字符时,就需要使用转义(\)
* 常见的转义:\n,\r,\\,\',\"
* */
char c = 'A'; // 语法格式
char c2 = 65; //
System.out.println(c2);
char c3 = '\'';
System.out.println(c3);
char c4 = '\\';
System.out.println(c4);
/*
* boolean:true,false
* 应用场景:做逻辑判断的时候会使用
*
* */
boolean b = true;
boolean b2 = false;
}
}
}
类型转换:
package day01;
/**
- 演示类型转换
-
自动类型转换:由小类型转换成大类型
-
类型大小的排布:byte -> short/char -> int -> long -> float -> double
-
强制类型转换:由大类型转换成小类型
-
语法:类型A 变量名 = (类型A)类型B;
-
强制类型转换存在风险的,慎用
- @author Administrator
*/
public class Demo4 {
public static void main(String[] args) {
/*
* 自动类型转换:
* byte -> short/char(无符号) -> int -> long -> float -> double
*
* 强制类型转换:
* 由大类型数据转换成小类型数据,成为强制类型转换,强制类型转换是有风险的,慎用
* 强制转换:类型A 变量名 = (类型A)类型B变量;
*
* 整数的直接量(int)可以直接赋值给byte\short\char,但是不能超过其范围
*
* */
// 自动类型转换
// int i = 100;
// long l = i;
// float f = l;
// double d = i;
// 强制类型转换
double d = 100.0111;
int i = (int)d;
System.out.println(i); // 100
long l = System.currentTimeMillis();
int i2 = (int)l;
System.out.println(i2);
byte b = (byte)220;
byte b1 = 22;
}
}
算术运算符:
package day01;
/**
- 演示算数运算符
- @author Administrator
*/
public class Demo5 {
public static void main(String[] args) {
/*
* +、-、*、/
*
* +号除了运算功能,还有字符串的拼接
*
* %取余
*
* ++:自增一
* ++在前先+1在赋值 ,++在后先赋值在+1
*
* --:自减一
* --在前先-1在赋值,--在后先赋值在-1
* */
// System.out.println(“xxx,”+“今天天气很好”);
int i = 5;
// System.out.println(i%2);
int i2 = ++i; // i=5 ++->6 i2=6 ++在前先+1在赋值
System.out.println(i2);
int i3 = i++; // i=6 ++->7 i3=6 ++在后先赋值在+1
System.out.println(i3);
System.out.println(i);
// --在前先-1在赋值 --在后先赋值在-1
int b = 20;
int b1 = --b;
System.out.println(b1);
int b2 = b--;
System.out.println(b2);
System.out.println(b);
}
}
练习:
package day01;
/**
- 练习
- @author Administrator
*/
public class PracticeDemo {
public static void main(String[] args) {
// 写出为什么是0.0,而不是0.8
double b = 80/100;
// 1*10*10.5返回值类型是什么
int i = (int)(1*10*10.5);
// 写出为什么是0.8,而不是0.0
double b1 = 80.0/100;
System.out.println(b1);
}
}