- 单行注释
- 多行注释
- 文档注释
//单行注释
/*多行注释
打
大苏打*/
/**文档注释*/
有趣的代码注释
2.标识符java所有组成部分都需要名字。类名、变量名以及方法名都被称为标识符
注意点
- 所有标识符以字母、$、_开头;
- 不能使用关键字作为变量名或方法名;
- 标识符是大小写敏感的;
- 建议用英文
强类型语言:要求变量的使用严格符合规定,所有变量必须先定义后使用
2.分类基本类型(primitive type)
数值类型:整数、浮点、字符
bool类型:true,false
引用类型(reference type)
类、接口、数组
public class Demo03 {
public static void main(String[] args) {
//八大基本数据类型
//整数
byte num1 = 12;
short num2 = 122;
int num3 = 22233; //最常用
long num4 = 22L; //Long类型要在数字后加L
System.out.println(num4);
//浮点数
float num5 = 50.1F; //float类型后面加F
double num6 = 3.1415926;
//字符型
char na = 'z'; //只能一个字符;要用单引号
//字符串,String不是关键字,类
//String name = "zhucheng"; //要用双引号
//布尔型
boolean flag = true; //or false
}
}
数据类型扩展
public class Demo03 {
public static void main(String[] args) {
//整数拓展: 进制 二进制0b 十进制 八进制0 十六进制0x
int a = 10;
int b = 010;//0~7
int c = 0x10;//0~9,A-F
int d = 0b10;//0~1
System.out.println(a);
System.out.println(b);
System.out.println(c);
System.out.println(d);
System.out.println("=========================================");
//============================================================
//浮点数拓展 银行业务怎么表示?
//BigDecimal 数学工具类
//============================================================
//float 有限、离散、舍入误差 大约 接近但不等于
//最好完全避免浮点数进行比较!!!
float f = 0.1f; //0.1
double dou = 1.0/10;
System.out.println(f==dou); //false
System.out.println(f);
System.out.println(dou);
float d1 = 2313131231212121212212f;
float d2 = d1 + 1;
System.out.println(d1==d2); //true
//============================================================
//浮点数拓展 银行业务怎么表示?
//============================================================
char name1 = 'a';
char name2 = '朱';
System.out.println((int)name1); //强制转换
System.out.println((int)name2); //强制转换
//所有字符本质还是数字
//编码 unicode 2字节 65536
char c3 = '\u0061';
//转义字符 \t 制表符 \n 换行
}
}
三.类型转换
注意点:
- 不能对布尔值进行转换
- 不能把对象类型转换成不相干的类型
- 在把高容量转换到低容量时,需要用强制转换。转换的过程可能存在内存溢出和精度问题
- *** 作比较大的数时注意溢出问题,计算
public class Demo04 {
public static void main(String[] args) {
int i = 128;
byte b = (byte)i; //内存溢出
double c = i;
//强制转换 (类型)变量名 高==>低
//自动转换 低==>高
System.out.println(i);
System.out.println(b);
System.out.println(c);
//jdk7新特性,数字之间可以用下划线分隔
int money = 10_0000_0000;
int years = 10;
int total = money*years; //1410065408 计算时溢出
System.out.println(total);
}
}
四.变量、常量
变量===>内存空间
- 类变量
- 实例变量
- 局部变量
public class Demo05 {
/*
类变量:static
*/
static double salary;
/*
实例变量,从属于对象,如果不自行初始化,则使用这个类型的默认值;0,0.0
布尔是false
除了基本类型,其余默认值都是null
*/
String name;
int age;
//类的main方法
public static void main(String[] args) {
//局部变量:方法中的变量,必须声明和初始化值
int a = 2;
String name = "zhu";
//使用实例变量 需要实例化:类名 变量名 = new 类名()
Demo05 demo05 = new Demo05();
System.out.println(demo05.name);
System.out.println(demo05.age);
//使用类变量
System.out.println(salary);
}
//类的其他方法
public void add(){
}
}
2.常量
public class Demo06 {
//常量定义
//修饰符,不存在先后顺序,final和static谁前谁后都可以
static final double PI = 3.14;
public static void main(String[] args) {
System.out.println(PI);
}
}
3.变量命名规范
五.运算符
- 算数运算符:+,-,*,/,%,++(自增),–(自减)
- 赋值运算符:=
- 关系运算符(返回true或false):>,<,>=,<=,==,!=,instanceof
- 逻辑运算符:&&,||,!
- 位运算符:&,|,^,~,…(了解为主)
- 条件运算符:?:
- 扩展赋值运算符:+=,-=,*=,/=
运算结果的数据类型为参与运算的变量中最高优先级的数据类型
public class Demo01 {
public static void main(String[] args) {
// 二元运算符
int a = 10;
short b = 20;
byte c = 25;
long d = 25L;
System.out.println(a+b);
System.out.println(a-b);
System.out.println(a*b);
System.out.println(a/(double)b);
}
}
字符串连接
public class Demo05 {
public static void main(String[] args) {
int a = 10;
int b = 20;
System.out.println(""+a+b);//1020
System.out.println(a+b+"");//30
}
}
自增、自减
public class Demo02 {
public static void main(String[] args) {
// ++ -- 自增,自减 一元运算符
int a = 3;
int b = a++; // 先赋值,后自增
int c = ++a; // 先自增,后赋值
System.out.println(a); //5
System.out.println(b); //3
System.out.println(c); //5
double pow = Math.pow(2, 3); // Math.pow(2,3) alt+Enter快捷键
System.out.println(pow);
}
}
位运算
public class Demo04 {
public static void main(String[] args) {
/*
A = 0011 1100
B = 0000 1101
----------------------
A&B = 0000 1100
A!B = 0011 1101
A^B = 0011 0001 异或运算,相同为0,不同为1
~B = 1111 0010
2*8=16 2*2*2*2
位运算,效率极高!!!
<< *2 左移
>> /2 右移
0000 0000 0
0000 0001 1
0000 0010 2
0000 0011 3
0000 0100 4
0000 1000 8
0001 0000 16
*/
System.out.println(2<<3);
}
}
三元运算符
public class Demo06 {
public static void main(String[] args) {
//x?y:z
//如果x等于true,则结果为y,否则结果为z
int score = 80;
String type = score<60?"不及格":"及格";
System.out.println(type);
}
}
运算符优先级
括号>一元运算符>二元运算符
package xxx必须在最上面
package com.zhu.base;
/**
* @author zhu
* @version 1.0
* @since jdk1.8
*/
public class Doc {
String name;
/**
* @param name
* @return
* @throws Exception
*/
public String test(String name) throws Exception{
return name;
}
}
IDEA生成javadoc
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)