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.Java基础的更多相关文章

  1. Java基础知识(壹)

    写在前面的话 这篇博客,是很早之前自己的学习Java基础知识的,所记录的内容,仅仅是当时学习的一个总结随笔.现在分享出来,希望能帮助大家,如有不足的,希望大家支出. 后续会继续分享基础知识手记.希望能 ...

  2. [Java面经]干货整理, Java面试题(覆盖Java基础,Java高级,JavaEE,数据库,设计模式等)

    如若转载请注明出处: http://www.cnblogs.com/wang-meng/p/5898837.html   谢谢.上一篇发了一个找工作的面经, 找工作不宜, 希望这一篇的内容能够帮助到大 ...

  3. 【JAVA面试题系列一】面试题总汇--JAVA基础部分

    JAVA基础 基础部分的顺序: 基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法 线程的语法,集合的语法,io 的语法,虚拟机方面的语法 每天几道,持续更新!! 1.一个". ...

  4. 最适合作为Java基础面试题之Singleton模式

    看似只是最简单的一种设计模式,可细细挖掘,static.synchronized.volatile关键字.内部类.对象克隆.序列化.枚举类型.反射和类加载机制等基础却又不易理解透彻的Java知识纷纷呼 ...

  5. java基础练习 字符串,控制流,日历,日期等

    1,对基本控制流程的一些练习 package org.base.practice3; import org.junit.Test; /** * Created with IntelliJ IDEA. ...

  6. Java基础知识【下】( 转载)

    http://blog.csdn.net/silentbalanceyh/article/details/4608360 (最终还是决定重新写一份Java基础相关的内容,原来因为在写这一个章节的时候没 ...

  7. Java基础知识【上】(转载)

    http://blog.csdn.net/silentbalanceyh/article/details/4608272 (最终还是决定重新写一份Java基础相关的内容,原来因为在写这一个章节的时候没 ...

  8. java基础学习03(java基础程序设计)

    java基础程序设计 一.完成的目标 1. 掌握java中的数据类型划分 2. 8种基本数据类型的使用及数据类型转换 3. 位运算.运算符.表达式 4. 判断.循环语句的使用 5. break和con ...

  9. Java基础加强之多线程篇(线程创建与终止、互斥、通信、本地变量)

    线程创建与终止 线程创建 Thread类与Runnable接口的关系 public interface Runnable { public abstract void run(); } public ...

  10. java基础知识小总结【转】

    java基础知识小总结 在一个独立的原始程序里,只能有一个 public 类,却可以有许多 non-public 类.此外,若是在一个 Java 程序中没有一个类是 public,那么该 Java 程 ...

随机推荐

  1. Linux内核驱动模块编写尝试

    课堂笔记 源代码 /*file: hello.c*/ #ifndef _KERNEL_ #define _KERNEL_ #endif #ifndef MODULE #define MODULE #e ...

  2. 无传感FOC控制中的转子位置和速度确定方法一

    使用PLL估算器在无感的情况下,估计转子的角度和角速度 PLL估算器的工作原理基于反电动势的d分量在稳态下等于零,其框图如下: ΚΦ 表示电压常量,下面给出了电气转速计算中使用的归 一化 ΚΦ  : ...

  3. C/C++ 文件读写

    •前言 第一次接触文件读写是在大一的C语言教材中,当时哼哧吧唧的学的贼费劲,虽然最后也学会了,但好像没怎么用过. 在后来,就是在OJ上刷题的时候,编写的代码有时候连样例都不能通过: 这个时候就需要各种 ...

  4. python-binasscii模块学习

    作用 binascii模块包含很多在二进制和ASCII编码的二进制表示转换的方法.通常情况不会直接使用这些功能,而是使用像UU,base64编码,或BinHex封装模块. binascii模块包含更高 ...

  5. leetcode刷题1--动态规划法回文串2

    题目是: Given a string s,partition s such that every substring of the partition is a palindrome Return ...

  6. java中会存在内存泄漏吗,请简单描述?

    所谓内存泄露就是指一个不再被程序使用的对象或变量一直被占据在内存中.java中有垃圾回收机制,它可以保证一对象不再被引用的时候,即对象编程了孤儿的时候,对象将自动被垃圾回收器从内存中清除掉.由于Jav ...

  7. 面试问题之C++语言:类模板声明与定义为何不能分开

    C++中每个对象所占用的空间大小,是在编译的时候就确定的,在模板类没有真正的被使用之前,编译器是无法知道,模板类中使用模板类型的对象的所占用的空间的大小的.只有模板被真正使用的时候,编译器才知道,模板 ...

  8. mybatis中jdbcType和javaType

    1.MyBatis 通过包含的jdbcType类型 BIT.FLOAT.CHAR .TIMESTAMP . OTHER .UNDEFINEDTINYINT .REAL .VARCHAR .BINARY ...

  9. Pycharm连接MySQL步骤及注意点

    1.数据库连接修改MySQL: 默认:MySQLDB #MySQLDB只支持Python2,暂不支持python3,所以要修改, 修改成:pymysql,在每个项目中都需要先导入pymysql模块, ...

  10. java-可变参数hei

    /* 使用前提: 当前方法的参数的数据类型已经确定,但是参数的个数不确定,就可以使用可变参数 使用格式: 定义方法是使用 修饰符 返回类型 方法名(数据类型... 变量名){} 可变参数的原理: 可变 ...