public class Myjava {
public static void main(String[] args){
System.out.println("Hello World!");
int x = 1;
System.out.println("x="+x);
boolean result = false&&true;
System.out.println("result = "+result);
char unia = 'a';
x = unia;
System.out.println(x);//;把字符类型直接赋值给int类型可以直接打印出unicode码
String str1 = "rewqre";
String str2 = "fdwrewq";
System.out.println(str1+str2);
System.out.println(str1+str2+x);
//java13开始可以用""" 字符串"""来进行连接 目前只能str+str+str来进行换行连接
//java字符串是引用类型,和js一样的是字符串也是不可改变的
//字符串的不可变只是内容不可变,
str1 = str2;
System.out.println(str1);
//这时str1的值为fdwrewq和str2一样
/*类对基本类型都是复制,对引用哦那个类型是指向
* 引用类型都是把值存在堆区的,栈区存储的是指向堆区的地址
* 这里的赋值只是把str2的地址赋给了str1 改变了str1存储的地址,原本的str1的内容还是依旧存在
* 整数浮点数字符是基本类型
* 字符串数组是引用类型
*
* */
/*
* 空值null,引用类型的变量可以指向一个空值null
* */
String s1 = null;
String s2 ;
String s3 = s1;
String s4= "";
System.out.println(s1+s3+s4);
//s2因为没有赋值也是null,但是不能打印,会报错,s3也指向了s1所以也为null s4只是一个空字符串不是null
/*
* 小练习,将一组int值视为Unicode编码,然后将他们拼接成一个字符串
*
* */
int aa = 72;
int bb = 105;
int cc = 65281;
// FIXME:
String ss ="" +aa + bb + cc+;
System.out.println(ss);
//数组类型
/* int [] arr = new int[5];
arr[0] = 1;
arr[1] = 2;
arr[2] = 3;
arr[3] = 4;
arr[4] = 6;
*/
/* int [] arr = new int[]{1,23,4,45,76};*/
int [] arr = {23,54,23,435,1};
System.out.println(arr[0]);
String [] sArr = {""};
char [] cArr ={'3'};//不写直接报错
System.out.println(sArr[0]);
System.out.println(cArr[0]);
/*java定义一个数组类型的变量需要
数据类型 [] 标识符 = new 数据类型 []
* 数据类型 [] 标识符 = new 数据类型 []{,,};
* 数据类型 [] 标识符 ={,,};
* 数组数据初始化为默认类型 整型都是0 浮点型都是0.0 布尔类型都是false
* 数组一旦创建完成,长度无法改变
* 数组是引用类型,但是数组中的元素可以是值类型如(int)或者引用类型(string);
*/
}
}