目录

注释:

关键字:

标识符:

常量:

常量的分类:

数据类型:

基本数据类型:

变量:

变量使用的注意事项:

数据类型转换:

强制类型转换:

ASIIC码表:

运算符:进行特点操作的符合

运算符的种类:

算术运算符:

赋值运算符

比较运算符:

逻辑运算符:

三元运算符:


注释:

●单行注释://

●多行注释:/* */

●自动生成文档/**   */

注意:

/* */不能嵌套,即不能简单地把代码注释掉,因为代码中可能会有   */

常量:

运行期间不会改变的量

常量的分类:

1、字符串常量:双引号内的部分

2、整数常量: 100,200,-250

3、浮点数常量:2.5、-3.14  0.0

4、字符常量:单引号引起来的单个字符

5、bool常量:true(真),false(假)

6.      空常量:null ,代表没有任何数据

public class PrintConst{public static void main(String[] args){//字符串常量  System.out.println("ABC");System.out.println("");//整型常量    System.out.println(30);System.out.println(-600);
//浮点常量     System.out.println(3.14);System.out.println(-2.5);//字符常量System.out.println('A');System.out.println('6');//System.out.println('');//两个单引号之间必须有且仅有1个字符//System.out.println('AB')//bool常量System.out.println(true);System.out.println(false);//空常量System.out.println(null);}

数据类型:

java是一种强类型语言,必须为每一个变量声明一种类型。

基本数据类型:

8种基本数据类型

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

float,double是近似值,不是精确值

数据范围和字节数不一定相关

浮点数默认数据类型为double,如果一定要使用float类型,需要加上一个后缀F

整数默认类型为int,如果一定要用 long类型,后缀+L

引用数据类型:字符串,数组,类,接口,lambda,大数(big  number)


整型:

byte,short,int ,long

●int类型最为常用。

●如果表示很大的整数用long

●byte和short类型主要用于特定的场合,例如,底层的文件处理或者储存空间很宝贵的大数组

●整数的范围与运行java代码的机器无关:由于java程序必须保证在所有机器上都能够得到相同的运行结果,所以各种数据类型的取值范围必须固定。

c和c++,int long大写与目标平台有关。

●后缀:长整型L(l),十六进制(0x或0X),八进制(0)(最好不用),二进制(0B或0b)

●可以为数字加下划线:1_000_000(为了更易读,编译时去除)

●java没有任何无符号形式的整数(unsigned)


浮点类型

●double表示 的类型的数值精度是float的两倍(双精度类型)。

●在很多情况下,float类型的精度不能满足需求,只有很少情况下适合使用float类型,如,需要单精度数的库,或者需要存储大量数据时。

●常量Double.POSITIVE_INFINITY:正无穷

●Double.NEGATIVE_INFINITY:负无穷

●Double.NaN(不是一个数字)

●检测一个变量是否是数:if(Double.isNaN(x))(不能使用x==Double.NaN)因为非数值的值都认为是不相同的。

●浮点数值不适用于无法接受舍入误差的计算(二进制无法表示1/10),使用BigDecimal类


char类型

●char类型数据用单引号括起来。

●char类型可以表示十六进制位,从\u0000到\uFFFF

●转义序列:待补充


boolean类型

false和true,用来判定逻辑条件。整数型和布尔值之间不能进行相互转换。

在c++中0表示false,1表示true,但是java不行

if(x=0)不能通过编译,括号内不是boolean类型

变量:

程序运行期间,内容可以发生改变的量

创建一个变量并且使用的格式:

1.

数据类型 变量名; //创建一个变量

变量名=数据值;   //变量赋值

2.

数据类型 变量名=数据值;//在创建变量的同时赋值

3

数据类型 变量名1=变量名2//用已有变量初始化变量

变量名命名规则:

●字母开头并由字母(包括下划线和美元以及某种语言中表示字母的Unicode字符)或数字构成的数列

●不能以保留字命名

public class variable {public static void main(String[] args) {//创建一个变量int num1;//变量赋值num1=10;System.out.println(num1);//10//改变变量的值num1=20;System.out.println(num1);//20//创建变量同时赋值int num2=25;System.out.println(num2);//25//改变变量的值num2=30;System.out.println(num2);//30//--------------byte num3=30;//-128~127System.out.println(num3);//  byte num4=400;报错short num5=50;System.out.println(num5);long num6=3000000000L;//长整型后缀假LSystem.out.println(num6);//3000000000float num7=2.5F;//float浮点数后缀FSystem.out.println(num7);//2.5double num8=1.2;System.out.println(num8);//double浮点数后不需要加后缀char zifu1='A';System.out.println(zifu1);//Azifu1='中';System.out.println(zifu1);//中boolean var1=true;System.out.println(var1);//truevar1=false;System.out.println(var1);//false//将一个变量的数据内容赋值给另一个变量boolean var2=var1;System.out.println(var2);//false}
}

变量使用的注意事项:

1、如果创建多个变量,那么变量之间的名称不可以重复

2、对于float和long 类型来说,字母后缀F和L不能丢掉

3、如果使用byte或者short类型的变量,那么右侧的数据值不能超过左侧类型的范围

4、如果没有进行赋值的变量,不能直接使用

5、变量使用不能超过作用域的范围

6、可以用一个数据类型申请多个变量,但不推荐

逐一声明每一个变量可以提高程序的可读性。


var变量类型

从java10开始,对于局部变量,如果可以从变量的初始值推断出它的类型,就不需要声明类型。

var a=10;//a is  int type
var b=false;//b is false

【作用域】:从定义变量的一行开始,一直到直接所属的大括号为止


public class variblenotice {public static void main(String[] args) {int num1=10;//int num1=20;//创建相同名字的变量int num2;//System.out.println(num2);没有赋值不能直接使用//System.out.println(num3);num3不在作用域内int num3=20;{int num4=20;System.out.println(num4);}//System.out.println(num4);//错误num4作用域到括号为止int num4=10;//可以作用域不冲突//可以用一个数据类型申请多个变量,但不推荐int a,b,c;a=10;b=20;c=30;int x=10,y=20,z=30;}
}

数据类型转换:

当数据类型 不一样时,会发生数据类型转换
自动类型转换(隐式):

1、代码不需要特殊处理

2、数据范围从小到大,与数据的字节数不相关(byte->int->long)(float->double)(long->float)

强制类型转换(显式)

public class DataType {public static void main(String[] args) {//左边为long类型,右边默认int类型,左右不一样//int->long,符合数据范围从小到大的要求long num1=100;System.out.println(num1);//100//左侧double类型,右侧为float类型,符合数据范围从小到大的要求double num2=2.5F;System.out.println(num2);//2.5//左边是float,右边是long类型符合数据范围从小到大的要求float num3=30L;System.out.println(num3);//30.0}
}

强制类型转换:

1、范围大的赋给范围小的

2、小类型 num1=(小类型)(num2);

注意:

1、强制类型转换一般不推荐使用(num2不能超过小类型的最大范围,否则会发生数据溢出)

2.byte/short/char这三种类型都可以发生数学运算(char 对应ASCIIC码),在计算时,都自动转换为int

public class DataType {public static void main(String[] args) {//左边int,右边long,范围大到范围小,需要强制类型转换//int num=100L;int num=(int)100L;System.out.println(num);//100//数据溢出int num1=(int)6000000000L;System.out.println(num1);//1705032704//精度损失,向下取整int num3=(int)3.99;System.out.println(num3);//字符类型可以发生数学运算char c1='A';c1+=1;System.out.println(c1);//byte/char进行数学运算时,自动转换为Intbyte num4=40;byte num5=50;int result1=num4+num5;System.out.println(result1);//90//byte+short->int+int->intshort num6=60;int num7=num4+num6;//int强制转换为shortshort num8=(short)(num4+num6);}
}

3.boolean类型不能发生数据类型转换

4、对于byte/short/char三种类型来说,如果右侧赋值的数值没有超过范围,那么编译器将会自动隐含地不上(byte)/(short)/(int)。如果右侧超过了左侧范围,那么编译器直接报错

5、在给变量赋值时,如果右侧的表达式中全都是常量,没有任何变量,那么编译器javac将若干个常量表达式计算得到结果

short result=5+8//右边全都是常量,没有任何变量参与运算,编译之后,得到.class字节码文件相当于//short result =13
short a=5;
short b=8;
short result=a+b;//错误写法,short+short->int+int->int//左边需要一个int

ASIIC码表:

只需记住3个,‘0’:48         ‘A’:65         ‘a’:97

数字和字符对照关系表(编码表):

ASCII码表:   American Standard Code for Information Interchange 美国信息交换标准代码

Unicode码表:万国码。开头0-127部分和ASCII完全一样,但是从128开始包含有更多的字符

public class CharTypr {public static void main(String[] args) {char c1='A';//自动转换为intSystem.out.println(c1+0);int c2='0';System.out.println(c2);}
}

运算符:进行特点操作的符合

表达式:用运算符连起来的式子

运算符的种类:

算术运算符:

/为整数除,即只保留整数舍弃余数

+的用法:

1、对于数值来说,是+

2、对于字符char类型来说,在计算之前char会被提示为int,然后再计算

3、对于字符串String(首字母大写),表示字符串的连接。任何数据类型和字符串连接时,都会变成字符串

public class Operator {public static void main(String[] args) {//两个常量之间可以进行数学运算System.out.println(20+30);//两个变量直接也可以进行数学运算int a=20;int b=30;System.out.println(a-b);//-10//变量和常量之间可以混合使用System.out.println(a*10);//200}
}
public class plus {public static void main(String[] args) {//+连接两个字符串System.out.println("hello"+"world");//任何数据类型和字符串连接时,都会变成字符串System.out.println("java"+20);//java20//优先级问题System.out.println("java"+20+30);//java2030System.out.println("java"+(20+30));//java50}
}

自增,自减运算符:

自增:++    自减:--

1、写在变量名称之前,或者写在变量名称之后

2、使用方式:

(1)单独使用:前++后++没有区别

(2)混合使用:

A.  如果是【前++】,变量【立刻+1】,然后拿着结构再进行使用    【先加后用】

B.  如果是【后++】,首先使用变量原本的值,然后再让【变量+1】 【先用后加】

(--同++使用)

3、只有变量才能自增自减,常量不能

赋值运算符

基本赋值运算符:=

将右侧的数据交给左侧的变量

复合赋值运算符:+=,-=,/=,*=   %=

a+=3 相当于a =a+3

1、只有变量才能使用赋值运算符,常量不能进行赋值

2、复合赋值运算符其中隐含了一个强制类型转换

public class equal {public static void main(String[] args) {int a=10;a=10+5;System.out.println(a);//15a+=5;//20System.out.println(a);short num=30;num+=5;//num=num+5;  short+int 强制类型转换System.out.println(num);//35}
}

比较运算符:

1、比较运算符的结果一定是一个boolean值,成立就是true,不成立就是false

2、如果进行多次判断,不能连着写(1<x<3不允许这种写法)

逻辑运算符:

与:&&   连接两个boolean值,都是true,就是true,否则就是false

或: | |   至少一个是true,就是true;全部是false,才是false

非: !   本来是true,变成false ;  本来是false,变成true

短路:&& ||根据左边已经判断得到最终结果,那么右边代码将不再执行,从而节省一定性能

 注意:

1、逻辑只能用于boolean值

2、&& ||需要左右各一个boolean值,但是取反只要有唯一的一个boolean值

(1<x<3正确写法:x>1&&x<3)、

public class logic {public static void main(String[] args) {System.out.println(true&&false);//falseSystem.out.println(3<4&&10>5);//trueSystem.out.println(true||false);//trueSystem.out.println(false||false);//falseSystem.out.println(!true);//falseint a=10;System.out.println(3>4&&++a<100);//++am没有执行System.out.println(a);//10System.out.println(3<4||++a<100);System.out.println(a);}
}

三元运算符:

元:操作数的个数

三元运算符格式:

数据类型 变量名=条件判断?表达式A:表达式B;

首先判断条件是否成立,成立将A赋给变量,不成立将B赋给变量

public class three {public static void main(String[] args) {int a=10;int b=20;int max=a>b?a:b;//取最大值}
}

注意事项:

1、必须同时保证表达式A和表达式B都符合左侧数据类型的要求

2、结果必须被使用(返回的结果需要赋给一个变量或者打印出来)

【java笔记】java基本语言风格(注释,数据,运算符)相关推荐

  1. Java笔记-Java日常笔记-Java核心语言-史上最全Java笔记-Java烂笔头-实时更新(~v~)

    阿一的日常Java笔记,实时更新,有什么问题可以留言交流一下,大家一起共同进步!!! 1.Java基础 1.1.基本语法 1.1.1.关键字 ​ 定义:被java赋予特殊含义的字符串(单词): ​ 关 ...

  2. think in java i o_5.[Think in Java笔记]Java IO系统

    1.输入输出 InputStream和OutputStream是面向字节的,Reader和Write则面向字符的且兼容Unicode. InputStream类型 ByteArrayInputStre ...

  3. Java笔记——Java多线程~

    多线程 内容来自博客~ 理解线程与进程 进程 进程:是指一个内存中运行的应用程序,每个进程都有一个独立的内存空间,一个应用程序可以同时运行多个进程:进程也是程序的一次执行过程,是系统运行程序的基本单位 ...

  4. java笔记——Java常用类

    目录 目录 Java常用类目标 1.1内部类 1.2成员内部类 1.3静态内部类 1.4匿名内部类 2.Object类 2.1getClass()方法 2.2hasCode() 2.3toString ...

  5. Java笔记——Java代码块的执行顺序

    Java代码块的执行顺序 Java程序中代码块的执行顺序对于学习Java的人来说是必不可少需要掌握的. 代码块 在Java中,使用{}括起来的代码被称为代码块. 根据其位置和声明的不同,可以分为: 局 ...

  6. Java笔记-Java端口扫描功能(含TCP包分析以及原理)

    端口扫描主要是扫描其TCP端口.因为他有三次握手,握上了,如果有加密才进行传输层的加密. 写个程序,去连接那个端口,能握手,就说明端口是开着的. 关于UDP的端口扫描,有但意义不是很大,因为udp不会 ...

  7. JAVA笔记- JAVA集合类之HashMap集合

    1- Map接口概述 我们通过查看Map接口描述,发现Map接口下的集合与Collection接口下的集合,它们存储数据的形式不同: Collection中的集合,元素是孤立存在的(理解为单身),向集 ...

  8. JAVA笔记- JAVA一维、二维数组的遍历与使用详解

    1- 数组概述 需求:现在需要统计某公司员工的工资情况,例如计算平均工资.找到最高工资等.假设该公司有80名员工,用前面所学的知识,程序首先需要声明80个变量来分别记住每位员工的工资,然后在进行操作, ...

  9. JAVA笔记- JAVA集合类之ArrayList详解

    1- 集合概述 A) 面向对象编程语言对事物的描述都是通过对象来体现的. 为了方便对多个对象进行操作,我们就必须对这多个对象进行存储,而要想对多个对象进行存储,就不能是一个基本的变量,而应该是一个容器 ...

  10. java访问控制度_菜鸡的Java笔记 - java 访问控制权限

    java中四种访问控制权限的使用 内容 在java里面一共定义有四个权限,按照由小到大的顺序:private 那么这四种访问控制权限的特点如下 NO 范围 private defaule protec ...

最新文章

  1. 强烈推荐8个值得下载的神仙软件,每一个都让人惊喜
  2. 龙邱树莓派Raspberry Pi 扩展板电路及其相关实验
  3. oracle gather trace,Oracle 11g新SQL Trace 10046方法
  4. ubuntu 下安装和启动SSH 服务
  5. 互联网系统性能优化方向
  6. Commons-logging + Log4j 使用方法、常见问题
  7. .NET Framework 托管与非托管代码
  8. .NetCore源码阅读笔记系列之Security (四) Authentication AddJwtBearer
  9. [转载]EXT核心API详解Ext.data(八)- Connection/Ajax/Record javascript
  10. 单片机(ISIS 7 Professional):简易8x8矩阵LED灯代码项目
  11. C盘满了怎么办?最强清理工具来了
  12. Linux修改默认静态IP
  13. ApacheCN 翻译活动进度公告 2019.6.21
  14. 服务器XP系统打印机共享设置,windowsxp系统打印机共享设置方法介绍
  15. swift4.0 涂鸦画板
  16. 数据分析:当回音哥唱music时,他在唱些什么~~~
  17. CF 285 E Positions in Permutations 题解
  18. Node 异步I/O 实现
  19. Less is more——如何修复setup violation?
  20. linux amd显卡使用情况查看

热门文章

  1. 手把手玩转win8开发系列课程(22)
  2. [转]浅谈php web安全
  3. EDUCoder编程练习题解(一维数组和二维数组)
  4. CCF201909-1 小明种苹果(100分)【序列处理】
  5. NUC1937 B.函数【水题】
  6. 【清单】—— 编程方法、整洁代码与重构
  7. Spring boot 搭建
  8. 强悍的命令行 —— basename 去掉路径和扩展名 dirname 获取路径
  9. UNIX 环境高级编程(四)—— dirent.h
  10. 面向对象 —— 类设计(十二)—— 全局变量和成员变量