JAVA基础--JAVA语言组成01

 

2.   标识符

2.1.   定义:

就是用来起到 标识作用的符号;

(就是程序员对自己定义的东西起的名字)

2.2.   命名规则(语法规定的,必须遵守的):

1、可以由大小写字母、数字、下划线(_)、美元符号($)组成;

2、数字不能开头;

3、关键字不能使用;

4、严格区分大小写

 

合法的标识符:name; _Abc; a, A;;clasz;

非法的标识符:0nae;1name; class ;

2.3.   书写规范:

驼峰法:

1、类名:首字母大写;多个单词,每个单词首字母大写;  如:Demo; XxxxYyyyZzzz;

2、方法名(函数名):首字母小写,多个单词,从第二个单词开始,每个单词首字母大写; 如:xxxxYyyyZzzz

3.   注释

3.1.   定义:

生活中的注释:文言文;英语单词;

Java中的注释,就是对代码起到解释说明的文字;

(给开发者看得;JVM不会看,所以编译的时候,不会编译注释的内容)

3.2.   写法:

单行注释://被注释的内容,直到这一行结束

多行注释:/* 被注释的内容 */

文档注释:/** 被注释的内容 */

作用是,可以让被注释的内容,被javadoc工具提取出来,生成一个帮助文档;

3.3.   作用:

1、解释代码,提高代码的可读性;降低开发和维护的难度;

2、被注释的内容不会被编译,可以在排查错误使用,或者调整功能;

对于新手来说,

1、将思路和分析的过程用注释写出来,有助于理清思路;

2、养成良好的注释的习惯,在面试的时候有用;

4.   常量

4.1.   定义:

就是定义之后不会改变的数据;

4.2.   java中常量的分类:

数值型:

整数型:正数、负数、0;

浮点型(带小数点的数):-3.4,0.0,7.8;

文本型:

字符型:用英文的单引号括起来的单个的字符;’2’;’a’;

字符串型:用英文的双引号括起来的零个或多个的字符;”” ; “ ”; “a”;”123” ;“嗨!美女!”;

布尔型:只有两个值:true(表示真,对) , false(表示假, 错);

空值常量:null;

4.3.   计算机数值的表示(知道):

计算机只认识二进制的数据;

4.3.1.     进制介绍

生活中一般使用十进制计数,逢十进一,一个数字位上,最大是9;

进制,就是数字进位的规则;

x进制,就是逢x进一,一个数字为上,最大的数字就是x-1;

4.3.2.     二进制的由来

计算机中使用电信号工作,能够准确表示的只有高电位和低电位;相当于开关的开和关;

一个数字位只能表示两个数字,在计算机中,这个数据量叫做1bit;

一般使用8个数据位表示一个数字,称为一个字节:

8bit = 1byte;(B)

1024 byte = 1kb;

1024kb = 1mb;

1024mb = 1Gb;

1024Gb = 1Tb;

1024Tb = 1 Pb;

4.3.3.     八进制和十六进制

八进制和十六进制,解决了二进制数字书写太长的问题;

100:

二进制:加前缀:0b; 0b100;

八进制:加前缀:0; 0100;

十进制:默认没有前缀;

十六进制:加前缀:0x; 0x100;

4.3.4.     进制转换

任意进制转换为十进制:位权展开法;

十进制转换为任意进制:短除法;

快速转换法:

4.3.5.     负数的二进制表示

4.4.   计算机字符的表示(编码表):

计算机中只能识别二进制的数字;


A


0


B


1


C


2


D


3

BBC: 112

ABCD:0123

在要表示的字符和数字之间建立一个一一对应的关系,在底层还是通过数字表示;

保存这个对应关系的表格,就是编码表;

常见的编码表:ASCII;Unicode;GB2312;BGK

……

5.   变量

5.1.   变量的概念

可以改变的数据;

在Java中,变量指的是内存中的一块空间,可以存放常量数据的;

5.2.   java的数据类型

基本数据类型:

数值型:

整数型:

byte:一个字节;-128 ~ 127;

short:两个字节:-2^15 ~ 2^15-1;

int:四个字节:-2^31 ~ 2^31-1;

long:八个字节:-2^63 ~ 2^63-1;

在Java中,整数默认都是int型的;

浮点型:

float:四个字节; -2^127 ~ 2^127;

double:八个字节; -2^1023 ~ 2^1023;

在Java中,浮点数默认都是double型的;

字符型(char):两个字节; 0 ~65535;

布尔型(boolean):true  false;

引用数据类型:后面数组的时候讲; String 不是基本数据类型;

5.3.   变量的书写格式

数据类型  变量名;

变量名 =  数值;

数据类型  变量名 = 数值;

使用变量,是通过变量名来使用的;

5.4.   变量的命名

变量名,是标识符;命名规则,和标识符的命名规则是一样的;

书写规范,在驼峰法中,和函数名的书写规范一样:

第一个单词的首字母小写;多个单词从第二个单词开始,首字母大写;

一般标识符的命名最好都有意义;

5.5.   变量的使用注意事项

5.5.1.     变量都有使用范围

5.5.2.     变量使用前,都要赋值

5.5.3.     给变量赋值,需要和变量的数据类型一致

5.6.   数据类型转换

5.6.1.     自动类型转换:

将取值范围小的类型的数据,往取值范围大的类型的变量中放,可以直接放进去,不会损失精度;

这种情况叫做Java的自动类型转换;

byte  --> short --> int --> long --> float --> double;

char -->int

5.6.2.     强制类型转换:

将取值范围大的类型的数据,往取值范围小的类型的变量中放,有可能放不进去,会出现精度损失;

如果必须往里面放,就需要使用一种方法:

小的范围的数据类型 变量名=(小的范围的数据类型)变量名;

这种情况叫做Java的强制类型转换;

原因:

一个面试题:

Java中整数默认都是int的,要声明一个long类型的常量,需要在数字后面加上字母:L(大小写都可以,推荐大写,方便识别)

Java中浮点数默认都是double的,要声明一个float类型的常量,需要在数字后面加上字母:F(大小写都可以)

6.   运算符

6.1.   算术运算符

就是用来对数据进行算术运算的符号;

+(加);-(减);*(乘);/(除);%(模运算:相当于取余运算);

参与运算的两个数据,如果数据类型不一致,结果是取值范围大的类型;

++:自增运算符;一元运算符,就是只有一个数据参与运算;

int a = 100;

运算符在运算的数据左边,叫做左自增:++a;

左自增,就是在参与运算的数据的自身上进行加一运算;

运算符在运算的数据右边,叫做右自增:a++;

- -:自减运算符;

自减运算符,原理和自增运算符一样,不同之处是,进行的是减一运算;

自增自减运算符练习:

+ :当运算符两边任意一边存在字符串时,它就是一个字符串连接符,作用就是将两边的数据连接成一个大的字符串;

练习:

总结:字符+字符是对应的ASCII上的数字 字符+字符串 字符串拼接

6.2.   赋值运算符

=:    表示将符号右边的值赋值给符号左边的 变量;

+=:-=;*=;/=;%=;

复合赋值运算符,其实是一种简写的形式;

a += b   <=>  a = a+b;

可以自动进行强制类型转换:

6.3.   比较运算符

运算结果都是布尔型常量;

>;

>=;

<;

<=;

==:

!=;

所有的基本类型的数据,都可以通过 == 符号进行相等性验证;

注意:区间判断,不能连接着写;

1.1.   逻辑运算符

&:与,相当于并且的意思,表示运算符两边的数据都为真,结果才是真;

&&:短路与,运算结果和&是一样的;

|:或,系那个当与 或者的意思,表示运算符两边的数据,有一个为真,结果就是真;

||:短路或,运算结果和|是一样的;

^:异或,表示运算符两边的数据不一样,结果才为真,否则就是假;

上面的运算符都是二元运算符,而且参与运算的两个数据和运算的结果都是布尔型的数据;

 

!:非;表示相反的意思;是一个一元运算符;

逻辑运算符练习:

 

逻辑运算表:!true = false; !false = true;


运算符左边


运算符右边


&(&&


|(||


^


true


true


true


true


false


true


false


false


true


true


false


true


false


true


true


false


false


false


false


false

&和&&的异同:

相同点:运算结果都一样;表示的逻辑运算关系也是一样的;

不同点:

&:不管符号左右两边的值是多少,两边都要进行运算;

&&:如果符号左边为false,就不计算右边;否则,右边也要计算;

|和||的异同:

相同点:运算规则也是一样的;运算结果也是一样的;

不同点:

|:不管左右两边如何,两边都要计算;

||:如果左边为真,结果一定为真,就不去计算右边;否则,就要计算右边;

问题:什么时候使用&和|

如果右边一定要计算,就要使用& 和 |

 

 

1.2.   三元运算符

格式:

 

变量名  = 布尔表达式 ? 表达式一 表达式二;

运算过程:

需要注意:三元运算符,必须有一个变量接收运算结果;

   1.3 流程控制语句

    <<:左移运算符:

     

    >>:有符号右移(算术右移),运算前后,数字的正负号不改变;

总结:有符号右移运算,左边空出来的都是用原来的符号位的数字补齐;

>>>:无符号右移(逻辑右移),右移后,左边空出来的全部用0补齐;

&:按位与;

^:按位异或

按位^的应用

总结

上面代码首先ab异或获取到c的值,然后当c与a异或 获取b 然后把b的值赋给a 然后 c与b异或获取a 然后把a的值赋值给b 这样就能获取两个数值的调换。

然后这样有个缺点是必须要给c进行初始化,那么为了节省内存空间 直接在ab两个值之间进行计算,少去c的运算步骤

1. a与b异或获取一个c 把c 赋给 a   2. a与b异或把酒相当于 c与b异或 获取到a的值 然后把a的值赋值给b  3.a与b异或就相当与 c与a异或获取b然后把值赋给a

~:按位取反:

时间: 2024-12-23 21:51:47

JAVA基础--JAVA语言组成01的相关文章

[Java基础] Java线程复习笔记

先说说线程和进程,现代操作系统几乎无一例外地采用进程的概念,进程之间基本上可以认为是相互独立的,共享的资源非常少.线程可以认为是轻量级的进 程,充分地利用线程可以使得同一个进程中执行多种任务.Java是第一个在语言层面就支持线程操作的主流编程语言.和进程类似,线程也是各自独立的,有自 己的栈,自己的局部变量,自己的程序执行并行路径,但线程的独立性又没有进程那么强,它们共享内存,文件资源,以及其他进程层面的状态等.同一个进程内的 多个线程共享同样的内存空间,这也就意味着这些线程可以访问同样的变量和

Java基础--Java编程规范

IsCoder 标记: Java基础,Java编程规范 摘要:Java虽然没有强制性的编程规范,但是为了便于统一,Java有不成文的编程规范,为了形成良好的编程习惯,建议熟悉并遵守Java编程规范,提高代码的阅读性. 一.Java标识符 在任何语言中,都要自己的一套标识符规则.Java的标识符包括:Java关键字.Java特殊功能的标识符.合法的用户自定义标识符.其中,我们能改变的只有自定义的标识符,和大部分计算机编程语言一样,Java标识符原始只支持ASCII的编码,但是随着Java在世界的影

[Java基础] Java对象内存结构

转载地址:http://www.importnew.com/1305.html 原文于2008年11月13日 发表, 2008年12月18日更新:这里还有一篇关于Java的Sizeof运算符的实用库的文章. 学C/C++出身的我,对Java有一点非常困惑,那就是缺乏计算对象占用内存大小的机制.而在C++中就可以通过sizeof运算符来获得基本类型以及类实例的大小.C和C++中的这个操作符对于指针运算.内存拷贝和IO操作都非常有用. Java中并没有一个类似的运算符.事实上,Java也不需要这种运

程序猿二三事之Java基础--Java SE 5增加的特性--语法篇(一)

程序猿二三事之Java基础–Java SE 5增加的特性–语法篇(一) [ TOC ] 为什么是Java SE 5? 目前已经到了JDK-8u74了,JDK7的主版本已经于2015年4月停止公开更新. 那为什么还要来说Java/JDK5呢? Java SE在1.4(2002)趋于成熟,随着越来越多应用于开发企业应用,许多框架诞生于这个时期或走向成熟. Java SE 5.0的发布(2004)在语法层面增加了很多特性,让开发更高效,代码更整洁. 自动装箱/拆箱.泛型.注解.for循环增强.枚举.可

[Java基础] java的守护线程与非守护线程

最近重新研究Java基础知识,发现以前太多知识知识略略带过了,比较说Java的线程机制,在Java中有两类线程:User Thread(用户线程).Daemon Thread(守护线程) ,(PS:以前忽略了). 估计学过Unix开发但是没有细致学习Java的同学们会疑惑了,操作系统里面是没有所谓的守护线程的概念,只有守护进程一说,但是Java语言机制是构 建在JVM的基础之上的,意思是Java平台把操作系统的底层给屏蔽起来,所以它可以在它自己的虚拟的平台里面构造出对自己有利的机制,而语言或者说

Java基础--Java入门

IsCoder 标记: Java基础,Java环境配置 一.Java环境配置 Java Develop Kit(JDK安装) 系统环境变量设置(JAVA_HOME) Java源程序编辑工具 Java编译运行命令 运行经典的HelloWorld程序 1.1 JDK安装 JDK,就是甲骨文公司提供给我们的Java开发工具包,包括最常用的Javac.exe编译工具和Java.exe运行工具.需要指出的是,JDK中已经包含了JER(Java Runtime Environment,Java运行时环境),

[Java基础] Java float保留两位小数或多位小数

方法1:用Math.round计算,这里返回的数字格式的. float price=89.89; int itemNum=3; float totalPrice=price*itemNum; float num=(float)(Math.round(totalPrice*100)/100);//如果要求精确4位就*10000然后/10000 方法2:用DecimalFormat 返回的是String格式的.该类对十进制进行全面的封装.像%号,千分位,小数精度.科学计算. float price=

Java基础----Java中的String和StringBuffer

String和StringBuffer String是一个特殊的对象,一旦被初始化,就不会被改变.()指的是abc 不是变量 s1. String s1="abc"; s1是一个类类型变量,"abc"是一个对象. String s2=new String("abc"); s1和s2的区别: s1在字符串常量池中创建了一个abc字符串 s2在堆中创建了两个对象一个是默认对象一个是字符串对象. ==和equals的区别 ==比较的是地址,equals

Java基础----Java API中的常用类

System:描述系统的一些信息 preperties();获取系统信息 Properties prop =new System.getProperties(); 是hashtable 的子类.用map的方法去除该类集合中的元素.该集合中存储的都是字符串,没有泛型定义. String calue=(String)prop.get(obj); System.out.println(obj+":"+value); //如何在系统中自定义一些特有信息? System.setProperty(

java基础----&gt;java中正则表达式二

跟正则表达式相关的类有:Pattern.Matcher和String.今天我们就开始Java中正则表达式的学习. Pattern和Matcher的理解 一.正则表达式的使用方法 一般推荐使用的方式如下: Pattern pattern = Pattern.compile("^[^abc]h$"); Matcher matcher = pattern.matcher("hh"); boolean isMatch = matcher.matches(); 另外一种不能复