java笔记(03,java语法和一些应该注意的问题)
Last modified:2013-04-06 23:59:48
**********************************
java作为一个类C语言,和C语言的语法基本相同,所以对于有C语言基础的同学,入门可以说非常快。下面我们就说说学习java时一些应该注意的问题吧:
字符串数据和任何数据使用+都是相连接,最终都会变成字符串。
"5+5="+5+5 运行结果是:5+5=55
"5+5="+(5+5) 运行结果是:5+5=10
转义字符:通过“\”来转变后面字母或者符号的含义。
\n:换行;\b:退格;\t:制表符;\r:按下回车;Windows回车符是由两个字符来表示的。\r\n
system.out.println("\"hah\"") 结果:"hah"
char a='你';
“==”是比较运算符;结果:true或false;
逻辑运算符用于连接boolean类型的表达式。x>3 & x<6
^:异或;两边都相同为假;反之为真;
&和&&的区别:&:无论左边是真是假;右边都运算;
&&:当左边为假时右边不用算。
||:左边为真。右边不用算。
位运算符:
<<:其实就是乘以2的移动的位数次幂;
>>:就是除以2的移动的位数次幂;
>>:带符号右移。看最高位
>>>:无符号右移。最高位都用0
位运算符&:转换为二进制再计算。
~:反码(~6=-7)
一个数异或同一个数两次结果还是那个数。(加密)
位运算是高效的运算!
有局限的:
n=m+n;
m=n-m;
n=n-m ;
技巧:
x=x^y;
y=x^y;
x=x^y;
简单:
temp=x;
x=y;
y=temp;
switch的特点:支持四种类型:byte short int char ,case和default的顺序是先执行第一个case,没有匹配的才执行default。结束switch的两种情况:遇到break和执行到switch的最后一个花括号。
if和switch语句很像,具体什么场景下应使用那个语句呢?
如果判断的具体数值不多,而是符合byte short int char这四种类型。
虽然两个语句都可以使用,建议使用switch语句,效率比较高。
其他情况:对区间,对结果为布尔类型(boolean)的判断,使用if,if的使用范围更广。
JDK的升级:7.0可以判断字符串,5.0可以判断枚举类型。
各种类型在java中占多少个字节呢?
1.boolean 类型视编译环境而定;
2.byte ,boolean:1字节 byte:-128~127 boolean:true false;
3.char,short: 2字节 char:0~2^16-1 short:-2^15~2^15-1;(c语言中char是1个字节)
4.int,float:4字节 int:-2^31~2^31-1 float:1.4013E-45~3.1028+38;
5.long,double:8字节 long:-2^63~2^63-1
double:4.9E-324~1.7977E+308;
(1字节=8bit 即在计算机中用8个0或1表示一个单位。)
byte、short、int、char型进行运算时,都是转换为int型。如char c ='a'; int d = c + 20;这种会先把c转换为int即转换为c对应的ASCII码进行运算。float会转换成double型。还有就是数据“类型小的”跟数据“类型大的”想运算时,会把小的数据类型转换为数据类型大的然后运算。如:long big = 100;int small = 100; long sum = big + small;运算时会先把small转换为long型的然后运算。
转换顺序:
byte->(short,char )->int->long->float->double
多种类型数据混合运算时,系统首先将所有数据类型转换为容量最大的那种数据类型再计算。
java中涉及byte,short和char类型数据的运算,首先会把这些数据转换为int型,计算结果是int型数据。例如两个byte型相加结果是int型
char型数据向整型转换时,是转换为对应的ASCII代码值。
char c=‘c’; int i=c;System.out.println("i="+i); 结果i=99
而byte,short,char三种数据是平级的,之间的转换要用强制转换。
*for 和while 的区别:
作用域的区别;控制次数用for。
注意:用for能写出来的用while的也能写出来。
变量有自己的作用域,对于for如果将循环增量由于控制定义在for语句中。
该变量只在for语句内起作用。for执行完毕就释放;
总结:当某些语句执行很多次时就用循环语句;
*两种最简单的无限循环模式:
while(ture){}
for(;;){}//默认是ture;
*尖朝上,改变条件,让条件随着外循环变化;
尖朝下,改变初始化值,让初始化随着外循环变化;
#####
####*
###**
##***
#****
*****
for (int i = 0 ;i<7 ;i++ ) { for (int j = i;j<7 ;j++ ) { System.out.print("#"); } for (int k = 0;k<i ;k++ ) { System.out.print("*"); } System.out.println(); }
*记住:
1.break和continue语句的范围;
2.break和continue单独存在时.下面可以有任何语句.因为都执行不到,那样的话系统会提示出错了.
3.continue只作用于循环结构(loop).
4.break作用于switch和loop
void:函数没有具体返回值类型的情况.
当函数的返回值类型为void时,函数中的return可以省略不写,写上也不错.
重载(overload)和参数列表有关;
什么时候用重载:
1,当定义的功能相同,但参与运算的未知内容不同.(注意:重载和返回值类型没有关系。重载只和函数名有关。)
那么,这时候就定义一个函数名称以表示其功能.方便阅读.通过含参数列表不同来区别同名的函数;
比如:
void show(int x){}
int show(char y,double z){} //重载了。
相关推荐
Java的基本语法的笔记
Java核心语法笔记,适合Java开发者对知识的回忆
java基本语法笔记java基本语法笔记java基本语法笔记
韩顺平编写的java学习笔记(全) 包含各种java的基本语法,以及3大项目的详细设计解释以及代码
狂神说Java笔记PDF文档。内容包括JAVA入门、基础语法、流程控制、方法、数组、面向对象、异常机制、常用类、集合框架、IO流、多线程、网络编程、Gui编程、注解和反射。
方法是Java学习中比较重要的部分,也是必须要明白的内容,这个方法讲了方法的定义、使用、重载以及构造方法等。
最近学习java 对java的一些小总结 里面包含 java 语法 流程控制 数组 3章
《Java JDK6学习笔记》是作者良葛格本人近几年来学习Java的心得笔记,结构按照作者的学习脉络依次展开,从什么是Java、如何配置Java开发环境、基本的Java语法到程序流程控制、管理类文件、异常处理、枚举类型、泛型...
基于java的基础知识,进行归纳的文件,包括基本语法和高级语法,如:5 线程 同步异步 Lambda,7 函数式接口 stream流 反射等。以及部分案例
整理的培训机构的部分java核心语法的笔记,5月18号将上传一份125个java笔试题的文档及面试技巧,欢迎各位java爱好者来下载
Java 学习入门基础笔记积累,基本语法的总结,xml解析笔记。
JavaSE教程第三章Java的基本语法笔记,使用思维导图制作
《Java JDK7学习笔记》是作者多年来教学实践经验的总结,汇集了教学过程中学生在学习java时遇到的概念、操作、应用或认证考试等问题及解决方案。《Java JDK7学习笔记》针对java se 7新功能全面改版,无论是章节架构...
阳哥笔记,极速秒杀,黑马上海大神,一骑绝尘
狂神说Java学习笔记(笔记+源代码+图片)——基础语法
本书是作者近几年来学习Java的心得笔记,结构按照作者的学习脉络依次展开,从什么是Java、如何配置Java开发环境、基本的Java语法到程序流程控制、管理类文件、异常处理、枚举类型、泛型、J2SE中标准的API等均进行了...
《Java JDK7学习笔记》是作者多年来教学实践经验的总结,汇集了教学过程中学生在学习java时遇到的概念、操作、应用或认证考试等问题及解决方案。《Java JDK7学习笔记》针对java se 7新功能全面改版,无论是章节架构...
JAVA核心语法笔记javalearnsa资料分享
Java基础笔记,共30天,很详细.(附带开发工具Intellij IDEA的使用文档),包含Java基础语法、面向对象、常用API、多线程、IO流、网络、JDBC
Java是一门编程语言,Java发展到今天,已经成为了一个真正意义上的语言标准,如果学习过(C、C++、Java)可以发现语法结构是很类似的,但是Java的标准指的是一种作为应用层封装的标准,使用Java可以调用一些底层的...