注释
(书写注释是一个非常好的习惯)
-
单行注释 // -
多行注释 /* */ /* 注 ? 释 */ -
文档注释 /** */ 有趣的代码注释: _(\_/)
,((((^`\
(((( (6 \
,((((( , \
,,,_ ,((((( /"._ ,`,
((((\\ ,... ,(((( / `-.-'
))) ;' `"'"'""(((( (
((( / ((( \
)) | |
(( | . ' |
)) \ _ ' `t ,.')
( | y;- -,-""'"-.\ \/
) / ./ ) / `\ \
|./ ( ( / /'
|| \\ //'|
|| \\ _//'||
|| )) |_/ ||
\_\ |_/ ||
`'" \_\
`'"
- /***
- * 頂頂頂頂頂頂頂頂頂 頂頂頂頂頂頂頂頂頂
- * 頂頂頂頂頂頂頂 頂頂
- * 頂頂 頂頂頂頂頂頂頂頂頂頂頂
- * 頂頂 頂頂頂頂頂頂頂頂頂頂頂
- * 頂頂 頂頂 頂頂
- * 頂頂 頂頂 頂頂頂 頂頂
- * 頂頂 頂頂 頂頂頂 頂頂
- * 頂頂 頂頂 頂頂頂 頂頂
- * 頂頂 頂頂 頂頂頂 頂頂
- * 頂頂 頂頂頂
- * 頂頂 頂頂 頂頂 頂頂
- * 頂頂頂頂 頂頂頂頂頂 頂頂頂頂頂
- * 頂頂頂頂 頂頂頂頂 頂頂頂頂
- */
标识符
b1.Java所有的组成部分都需要名字。类名,变量名以及方法名都被称为标识符
2.关键字 关键字不能作为标识符,系统已经占用了,如class,void,switch等。
3.所有的标识符都应该以字母(大小写均可)或美元符$ 或下划线_开始,首字符之后可以是字母,美元符,下划线,数字的任意组合。
4.**标识符是大小写敏感的 **
5.可以使用中文命名,但是一般不建议这样去使用,也不建议用拼音,很low。
```java
public class Demo01{
public static void main(string[] args){
String 王者荣耀="倔强青铜";
System.out.println(王者荣耀)
}
}
```
数据类型
- 强类型语言 :要求变量的使用严格符合规定,所有变量都必须先定义才能使用
java,C++都是强类型语言。它们定义了一个变量指定了一个数据类型,如果不经过转换,则这个变量永远是原来的数据类型
强类型的安全性高,但速度就没那么快了。
java的数据类型
? //八大基本数据类型:byte,short,int,long,char,double,float,boolean
? //不是基本数据类型都是引用数据类型
一.基本类型
- 数值类型
-
整数类型 byte占一个字节 范围:-128~127 short占2个字节 范围:-32768~32767 int 占4个字节 范围:-2147483648~2147483647 //最常用 long占8个字节 范围:-9223372036854775808~9223372036854775807 int num1=10;
long num2=10L; //long类型要在数字后面加个L来区分它是Long类型
-
字符类型 char占2个字节 char name='A';
char name1='陈';//char是字符,只能有一个字 比如char name2='姜云升'就是错的
? 字符串String不是关键字,它是类 -
浮点类型 float占4个字节 double占8个字节 float num3=10.2F;//float类型要在数字后面加个F来证明它不是double类型
double num4=3.141592653589793;
2.boolean类型:占1位,其值只有true和false. //布尔值 表是与非
boolean flag =true;
//boolean flag =false;
二.引用数据类型
字节
位(bit):是计算机内部数据储存的最小单位,如11001100是一个八位二进制数
字节(byte):是计算机中数据处理的基本单位,习惯上用大写B来表示
1B=8b //一字节=8位
字符:是指计算机中使用的字母,数字,字和符号
1024B=1KB;
1024KB=1M;
1024M=1G;
1024G=1TB.
整数拓展 //java里面的进制问题
一般是十进制,则直接表示数
特殊进制表示的数前面再加点标记就可以表示了
二进制0b 八进制0 十六进制0x
int a=10;
int b=010;//八进制0
int c=0x10;//十六进制0x
1=10;b=8;c=16
字符串拓展
char c1='a';
char c2='中';
System.out.println(c1);
System.out.println((int)c1); //强制转换
System.out.println(c2);
System.out.println((int)c2); //强制转换
结果://Unicode表中 a=97,A=65
a
97
中
20013
所有的字符本质还是数字
转义字符
布尔值扩展
boolean flag =true;
if(flag==true){}
//if(flag){}
//两种是一样的,尽量做到代码精简可读
类型转换
因为Java是强类型语言,所以要进行有些运算的时候,需要用到类型转换
? 低----------------------------------------------------->高
? byte,short,char,int,long,float,double
运算中,不同类型的数据先转化为同一类型,然后再进行运算
-
强制转换 格式: (类型)变量名 高—>低 int i=128;
byte x=(byte)i; //强制转换
System.out.println(i);
System.out.println(x);
128
-128 //byte是-128~127,给的128超出了,所以内存溢出
-
自动转换 (不需要加任何东西) 低---->高 int i=128;
double b=i; //由低到高,自动转换,不用加东西
System.out.println(i);
System.out.println(b);
128
128.0
转换的注意点:
- 不能对布尔值进行转换;
- 不能把对象类型转换为不相干的类型;
- 在把高容量转换到低容量的时候,采用强制转换;
- 转换的时候可能存在内存溢出,或者精度问题!
System.out.println((int)23.7); //23
System.out.println((int)-45.89f); //-45
char c='a';
int d=c+1; //c被自动转换为Int型,变为97
System.out.println(d); //98
System.out.println((char)d); //强制转换,输出b
操作比较大的数时,注意溢出问题
jdk7新特性,数字之间可以用下划线分割,方便我们看,但是下划线对输出等没有影响
错误示范:
int money=10_0000_0000;
int years=20;
int total=money*years;
System.out.println(total); //输出-1474836480,计算的时候溢出了
double total2=money*years;
System.out.println(total2); //仍然输出错误,因为在计算的时候先默认的total2为int类型,然后再转换的double,已经错了
改正:
int money=10_0000_0000;
int years=20;
long total3=money*((long)years); //先把一个数转换为long类型
System.out.println(total3); //输出正确
变量
变量:可以变化的量。 变量名必须是合法的标识符。
Java是一种强类型语言,每个变量都必须声明其类型(基本类型或引用类型)。
变量声明是一条完整的语句,因此每一个声明都必须以分号结束。
Java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域
变量作用域
- 类变量 在方法外面,类的里面定义。有 static
- 实例变量 在方法外面,类的里面定义。没有static。实例变量从属于对象。实例对象不初始化的话,系统会默认赋值为0,布尔值默认为false,除了基本类型的默认值为null.
- 局部变量 在方法里定义的变量,生命周期只在该方法里,必须声明和初始化值
public class Varible{
static int allClicks=0; //类变量
String str="Hello world"; //实例变量
public void method(){
int i=0; //局部变量
}
}
常量 final
常量的值被设定后,在程序运行过程中不允许被改变。
final 常量名=值;
final double PI=3.14;
常量名一般使用大写字符
static final double PI=3.14;//final与static都是修饰符,不存在先后顺序,可交换
System.out.println(PI); //输出3.14 这里加了个final仅仅是修饰变量,让变量值稳定
|