1.注释

单行注释 // 多行注释 /*回车 文档注释(注解)。/**回车


2.标识符

(1)Java所有组成部分都需要名字,类名,变量名以及方法名都称为标识符

(2)且标识符只能以字母、$或者_ 开始首字母之后可以任意

(3)标识符大小写是敏感的

代码演示:

public class Demo01 {
public static void main(String[] args){
System.out.println("Hello World !");
//变量名属于标识符,标识符只能以 字母、_ 和$ 开头。首字母之后可以任意
//标识符:类名,变量名以及方法名都称为标识符 (标识符大小写是敏感的)
String _dd = "d";
String $dd = "d";
String Dd = "d";
String 王者荣耀 = "d";//变量名也可以是中文(但一般不建议用中文命名)
//String class = ""; 报错 变量名不能是class
}
}

3.Java的数据类型

  • 八大基本数据类型:

    整型int byte short long 浮点型 float double 布尔型boolean 字符型char

  • 引用类型 :

    类 接口 数组 如String

代码演示

public class Demo02 {
public static void main(String[] args) {
String a = "hello"; //字符串类型
int number = 10;
System.out.println(a);
System.out.println(number);
//八大基本数据类型
//整数类型
int num1 = 10; //int hex = 0x2F01A; //十六进制
byte num2 = 127;
short num3 = 32767;
long num4 = 999999999L; //long类型要在数字后面+L 区分它是long 类型。
//此处用大写L 是为了便于区分 因为用小写l 和 1 很容易混淆,所以一般用大写L。 //浮点类型
float num5 = 50.1F; //加区分它是float类型
float num51 = 93.1f;
double num6 = 501.25666666666666666666666666666666666666666666666666;//double aa = 6e02; //科学计数法 //字符类型
char num7 = '篇'; //不能写两个字 char只能是单个字符 char num8 = 'A';
//字符串, 注意********* String不是关键字,是一个类
//String name = "打赏";
//布尔类型
boolean num8 = true;
boolean num9 = false;
}
}
public class Demo03 {
public static void main(String[] args) {
//整数拓展 进制问题 十进制 二进制0b开头 八进制0开头 十六进制0x开头
int i1 =10;//十进制10
int i2 =0b10;//二进制的10
int i3 = 010;//八进制的10
int i4 = 0x10;//十六进制的10 // 0~9 A~F System.out.println("输出的都是十进制");
System.out.println(i1);
System.out.println(i2);
System.out.println(i3);
System.out.println(i4); //浮点数拓展 银行业务怎么表示?钱
//BigDecimal 数学工具类 来比较
//float 有限 离散 舍入误差 大约 接近但不等于
//double
//最好完全避免用浮点数比较
float f = 0.1f;
double d = 1.0 / 10;
System.out.println(f);
System.out.println(d);
System.out.println(f == d); //false
float d1 = 2123123132132f;
float d2 = d1 + 1;
System.out.println(d1 == d2); //居然是true 因为float有误差 //字符拓展
char c1 = 'a';
char c2 = '中';
System.out.println(c1);
System.out.println((int) c1);
System.out.println(c2);
System.out.println((int) c2);
//可强制转换 所有的字符本质还是数字
//编码 Unicode 0-65536 表:97 = a 65 = A char c3 = '\u0061'; //Unicode 编码
System.out.println(c3); //a //转义字符
// \t \n ...
System.out.println("------------------转义字符---------------------");
System.out.println("Hello World !");
System.out.println("Hello\tWorld!");
System.out.print("Hello\nWorld!");
System.out.println("HelloWorld!" + "\n");
System.out.println("\n");
System.out.println("Hello World!");
System.out.println("\\n"); String sa = new String("hello world");
String sb = new String("hello world");
System.out.println("//////////////////////////////////////");
System.out.println(sa == sb); String sc = "hello world";
String sd = "hello world";
System.out.println("//////////////////////////////////////");
System.out.println(sc == sd);
//对象 从内存分析 //布尔值拓展
boolean flag = false;
if (flag == true) {} //等价于 if (flag){} }
}

4.字节

一字节等于8位

1 Byte = 8 bit


5.类型转换

不同类型转换为同一类型 然后进行运算。

低------->高 **byte short char int long float double ** (小数优先级高于整数)

  • 高到低 强制转换 (类型)变量名
  • 低到高 自动转换 什么也不用写

数据类型转换注意点

/*注意点
* 1.不能对布尔值进行转换
* 2.不能把对象类型转换为不相干的类型。
* 3.高容量转低容量 强制转换 反之则自动转换。
* 4.转换时,可能存在内存溢出 或 精度问题。
* */
public class Demo03 {
public static void main(String[] args){
System.out.println("Hello World !");
System.out.println("--------字符---------------");
char c1 = 'a';
char c2 = '只';
System.out.println(c1);//a
System.out.println(c2);//中
int a = c1;
System.out.println(a);//char 转int自动转
System.out.println((int) c1);
int a1 = c2;
System.out.println(a1);
System.out.println((int) c2);//输出数字Unicode编码
//所有的字符本质还是数字
}
}
public class Demo4 {
public static void main(String[] args) {
int i = 128;
byte b = (byte)i; //强制转换
System.out.println(i);
System.out.println(b); //内存溢出 因为Byte 字节范围 -128~127 int i1 = 128;
double b1 = i1; //低到高 自动转换
System.out.println(b1);
}
}
public class Demo04 {
public static void main(String[] args) {
int i = 128;
byte b = (byte)i; //强制转换
System.out.println(i);
System.out.println(b); //内存溢出 因为Byte 字节范围 -128~127 int i1 = 128;
double b1 = i1; //低到高 自动转换
System.out.println(b1); /*注意点
* 1.不能对布尔值进行转换
* 2.不能把对象类型转换为不相干的类型。
* 3.高容量转低容量 强制转换 反之则自动转换。
* 4.转换时,可能存在内存溢出 或 精度问题。
* */ System.out.println("----------丢失精度-----------");
System.out.println(23.7);
System.out.println((int) 23.7); //double转int
System.out.println((int) -45.89f); //float 转int char c = 'a';//
System.out.println(c);
System.out.println((int) c);
int d = c + 1;
System.out.println(d);
System.out.println((char) d); char c3 = '\u0061';
System.out.println(c3);
}
}

类型转换常见的问题

溢出问题

public class Demo05 {

    public static void main(String[] args){
//操作数比较大时,注意溢出问题
//JDK7新特性,数字之间可以用下划线分割
int money = 10_0000_0000;//下划线并不会被输出
System.out.println(money);
int years = 20;
int total = money * years;
System.out.println(total); //输出负数原因:计算的时候溢出。
long total2 = money * years;
System.out.println(total2);//输出负数且不正确原因:1. long = int* int 先进行int*int计算溢出已经出错,才进行自动转换为long,
/*
* 分析:此处long total2 = (long)money * years;
* money * years是int 转long 本应该自动转(long total2 = money * years;)
* 但是 由于money * years数值大于int最大值,已经溢出了。所以应该转为long类型 之后相乘(long)money * years;
* */
long total3 = money * ((long) years); //int*long 先自动转成long 输出正确。
System.out.println(total3);
}
}

最新文章

  1. Windbg Extension NetExt 使用指南 【2】 ---- NetExt 的基本命令介绍
  2. jQuery版AJAX简易封装
  3. C#直接赋值和反射赋值(无GC)的性能比较
  4. TCP/IP详解学习笔记(5)-- ICMP:internet 控制报文协议
  5. PHP+七牛云存储上传图片代码片段
  6. bgycoding
  7. 精通 Oracle+Python,第 5 部分:存储过程、Python 编程
  8. 偶遇问题 - - JavaScript 取消链接默认行为问题
  9. Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:compile 解决办法
  10. 伸展树(Splay树)的简要操作
  11. 怎么用snapman一个人在三天内开发出一个复杂的软件开发项目管理系统
  12. 常用的linux系统监控命令
  13. How to install tcpping on Linux.md
  14. 宝宝巴士-自动化团队-纵世科技-Wiger-原创分享-QQ:18630195
  15. 快速排序实现及其pivot的选取
  16. vue 登录跳转
  17. Java高并发秒杀API之web层
  18. day062 中间件
  19. jQuery滚屏插件XSwitch.js
  20. ConvertUtils.register的作用

热门文章

  1. SQL语句大全,所有的SQL都在这里
  2. VMware安装win7后,安装VMware Tools时报错安装程序无法继续。本程序需要您将此虚拟机上安装的操作系统更新到SP1
  3. 6月12日 python学习总结 框架
  4. Windows安全加固手册
  5. Colbalt Strike之CHM木马
  6. 平衡树:为什么Redis内部实现用跳跃表
  7. RPC框架 和 fegin原理
  8. iHTML 的 form 提交之前如何验证数值文本框的内容全部为数字
  9. Java 中你怎样唤醒一个阻塞的线程?
  10. 在 centos6 安装 MySQL5.7 官方文档