一、IDEA相关设置
1.1创建项目、包、类
- 创建项目: file->new->project->输名字->回车
- 创建包: src->右键->new->package->输名字->回车(PS:包命名时域名倒写=创建了分层的三个文件夹cn/lcy/day0331)
- 创建java类:包名上->右键->new->java class->输名字->回车
1.2JDK设置
二、常用输出流语句
System.out.println(); 输出字符串和数字
package cn.lcy.day0331;
public class test01 {
public static void main(String[] args) {//输出流语句
System.out.println("1hello圆周率");
System.out.println("A1");
System.out.println(1 + 2 + "A"); //不同类型之间用"+"连接:表示为一行文字
System.out.println("A" + 1 + 2);
System.out.println(1 + "A" + 2);
System.out.println(1+2+3);//数字用"+"连接:表示加法运算
}
}
那么问题来了:如何在一行语句中同时分别输出两个数字呢?如何不换行输出?
即答:1.输出两个数字可在此行语句中加入" "字符;
2. println:执行完此行语句后换行(个人理解为“滞后换行”)
print:执行完此行语句不换行
System.out.println(1 + " " + 2 + " " + 3);//ln:执行完此行后换行执行下一行
System.out.print("abc");
System.out.println("abc");
//Run:
//1 2 3
//abcabc
三、数据类型与定义变量
数据类型包括:基本类型和引用类型
PS:java中整数默认为int,浮点默认为double
8种基本数据类型 | ||||
存储范围 | 占用字节 | 默认值 | ||
整型 | byte | -2^7~2^7-1 | 1byte=8bit | 0 |
short | -2^15~2^15-1 | 2byte=16bit | 0 | |
int | -2^31~2^31-1` | 4byte=32bit | 0 | |
long | -2^63~2^63-1 | 8byte=64bit | 0L | |
浮点型 | float | 6~7位有效数字 | 4byte=32bit | 0.0f |
double | 15~16位有效数字 | 8byte=64bit | 0.0d | |
字符型 | char | 2byte=16bit | ||
布尔型 | boolean |
4byte=32bit(编译后为int) 1byte=8bit(数组中) | false |
引用类型:String、数组、对象等,一般通过关键字new来创建对象
- java内存分配:在定义变量时,定义类型不同,其存储位置也不同。
当声明一个基本类型:其变量名和值均放在栈或堆中。
当声明一个引用类型:所声明的变量存储其在堆上内存地址,地址指向引用对象,其引用对象存储在堆中。
四、常量、全局变量和局部变量
package cn.lcy.day0417;
public class camp01 {
double a=3.4;//普通全局变量/成员变量:应用于整个class内部,存放在heap堆区
static double b=6.7;//静态成员变量/类变量:存放在常量区/静态区
public static void main(String[] args){
int c=8;//局部变量:应用于整个方法内部,存放在stack栈区
final double PI=3.141592653;//常量:定义后值不再改变
}
}
- java内存分配:在定义变量时,定义变量位置不同,其存储位置也不同。
局部变量:当调用方法时系统会建立一个方法栈,方法结束时会释放此栈,其内的变量也随之销毁。
全局变量:放在堆中,不会因为,某个方法结束而销毁。
五、进制转换
package cn.lcy.day0418;
public class Yang02 {
public static void main(String[] args){
int s1=0b101010;//0b为二进制标识,仅包含“1、0”
int s2=057450;//0为八进制标识,仅包含“0~7”
int s3=0x10E;//0x为十六进制标识仅包含,“0~9、A~F”
System.out.println(Integer.toString(10,2));//int值转二进制
System.out.println(Integer.toString(10,8));//int值转八进制
System.out.println(Integer.toString(10,16));//int值转十六进制
System.out.println(Integer.toBinaryString(10));//int值转二进制
System.out.println(Integer.toOctalString(10));//int值转八进制
System.out.println(Integer.toHexString(10));//int值转十六进制
}
}
//Run:1010
// 12
// a