黑马程序员 ---- java基础之基本语法

<pre name="code" class="java">------<a href="http://www.itheima.com" target="blank">Java培训、Android培训、iOS培训、.Net培训</a>、期待与您交流! -------


 

       java是由sun公司推出的高级语言,是基于c++的。通过一段时间学习发现其更加严谨。他的基本语法和c之类的高级语言差不多,不过也有自己的新东西。

一. 关键字

   特点和定义

    定义:被Java语言赋予了特殊含义的单词。    

特点:关键字中所有字母都为小写。
二.标识符

 定义及特点定义:在程序中自定义的一些名称,例如:类名。特点:由26个英文字母大小写,数字:0-9,符号:_、 $组成。
 定义合法标识符规则

1. 数字不可以开头,例如:5Demo就不可以。

2. 不可以使用关键字,例如:public就不可以,因为public是关键字。

3. 不可以包含“ _、 $” 以外的特殊符号,例如:“ Demo Test” 就不可以,其中的空格就是特殊符号。

三.注释

定义及特点

定义:用于注解说明解释程序的文字就是注释。

特点:提高了代码的阅读性

Java中的注释格式

1. 单行注释格式: //注释文字

2. 多行注释格式: /* 注释文字 */

3. 文档注释格式:/** 注释文字 */
四.常量

定义:常量表示不能改变的数值。
Java中常量的分类

1. 整数常量:所有整数。

2. 小数常量:所有小数。

3. 布尔(boolean)型常量:只有两个数值,true、 false。

4. 字符常量:将一个数字字母或者符号用单引号( ' ' )标识,如:'a'。

5. 字符串常量:将一个或者多个字符用双引号("")标识,如:"hello world"、 "a"、 ""(空字符串)。

6. null常量:只有一个数值就是:null。
五.变量

定义:内存中的一个存储区域,该区域有自己的名称(变量名)和类型(数据类型),该区域的数据可以在同一类型范围内不断变化。

特点:变量其实就是将不确定的数据进行存储,也就是需要在内存中开辟一个空间。定义变量的格式:数据类型 变量名 = 初始化值;例如:int b = 3;
六.java语言数据类型

Java语言的数据类型包括8种基本类型,3种引用类型
8种基本类型包括: 
整数型:
byte short int long

浮点型:double float

布尔型: boolean

字符型:char

3种引用

类 class

接口 interface

数组[]

七.类型转换

类型转换在开发中也很常用,简单来说就是类型之间相互的转化,类型转换共分两种,自动类型转换和强制类型转换。

1. 自动类型转换(隐式类型转换)定义:自动类型转换就是不需要我们手动对类型来进行强制转换。
2. 强制类型转换(显式类型转换)定义:强制类型转换需要把类型进行手动转换,否则无法正常使用

class VarDemo
02. {
03. public static void main(String[] args){
04. byte b = 8 + 2;
05. byte b1 = 8;
06. byte b2 = 2;
07. b = b1 + b2;
08.
09. System.out.println(b)
10. }
11. }
这里有个小错误就是 之所以byte b = 2 +8;,没有报错,是因为2和8都是常量,编译器知道结果是10,并且在byte范围之内,因此就自动进行了强转,所以不会报错。 而b = b1+ b2;中b1和b2都是变量,编译器编译程序是一行一行编译的,它根本不知道b1和b2到底是多少,两个byte类型的数据相加时,首先都会被提升为int类型,他们的和也是int类型,其值可能会超过byte的范围,因此就会报错。
八.运算符

(1)算数运算符


说明;整数与整数相除时,结果永远是整数,小数部分被忽略。
负数对正数取模结果为负数。正数对负数取模结果为正数。
加号也可以作为连接符使用。
当执行b = a++;语句时,先把a放在一个临时内存空间中,然后将a自加1,再将临时内存空间中的a赋值给b,因此b还是原来的a的值,也就是3。
当执行b = ++a;语句时,先将a自加1,a此时的值为4,再将a赋值给b,因此b的值也是4。
(2)赋值运算符
符号:= , +=, -=, *=, /=, %=

这里有个小细节

class OperatorDemo
02. {
03. public static void main(String[] args){
04. short s = 3;
05. s = s + 4;
06. System.out.println("s = " + s);
07. }
08. }
对于这个 在执行s = s + 4;语句时,会报错。编译器在编译的时候,默认并没有强制类型转换。 所以,s是short类
型,4是int类型,s会自动提升为int类型,相加的和也是int类型,赋值给short类型的变量肯定会损失精
度。 这时候就需要进行强制类型转换:s = (short)(s + 4);。如果用s+=4就不会了。

(3)比较运算符

(4) 逻辑运算符



"&"符号运算规律:
运算的两边只要有一个是false,结果肯定是false。只有两边都为true,结果才是true。
"|"符号运算规律:
运算的两边只要有一个是true,结果肯定是true。只有两边都为false,结果是false。
"^"符号运算规律:
^符号的两边结果如果相同,结果是false。两边的结果不同,结果是true。

!是非的意思就是取反

&&和||与&和|用法相同,效率更高。
(5)位运算符

      左移:<<;空位补0,被移除的高位丢弃,空缺位补0

       右移:>>;被移位的二进制最高位是0,右移后,空缺位补0;最高位是1,空缺位补1

       无符号右移:>>>;被移位二进制最高位无论是0或者是1,空缺位都用0补。

        与: &;二进制位进行&运算,只有1&1时结果是1,否则是0

       或:|;二进制位进行 |运算,只有0 | 0时结果是0,否则是1

       异或: ^;任何相同二进制位进行 ^运算,结果是01^1=0 , 0^0=0

不相同二进制位 ^运算结果是11^0=1 , 0^1=1

        反码:~;对二进制进行取反。


这里举一个例子就是3*8怎样最高效
public class Test2 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		System.out.println( 3 << 3 );
	}

}

这里就用到了移位的知识,当被乘数是2的次方时移位是最高效的。

九.3元运算符
格式:
(条件表达式) ? 表达式1 : 表达式2;
如果条件为true,运算后的结果是表达式1;
如果条件为false,运算后的结果是表达式2。


这里说一个将两个变量值互换

class OperatorDemo
 {
 public static void main(String[] args){
 int a = 3,b = 5;
 int c;

 System.out.println( "a = " + a + ",b = " + b );
//第一种是借助第三个变量的
 c = a;
 a = b;
 b = c;
 System.out.println( "a = " + a + ",b = " + b );
 //第二种是不借助于变量的
 a = a ^ b;
 b = a ^ b;
 a = a ^ b;

 System.out.println( "a = " + a + ",b = " + b );
 }
 }
总结:1. Java中严格区分大小写。在起名字时,为了提高阅读性,要尽量有意义。

包名:多单词组成时所有字母都小写。

类名接口名:多单词组成时,所有单词的首字母大写。

变量名和函数名:多单词组成时,第一个单词首字母小写,第二个单词开始每个单词首字母大写。

常量名:所有字母都大写。 多单词时每个单词用下划线连接。
2.编程时要写思路,多写注释养成良好习惯。
3.变量的作用范围(一对{}之间有效)。 变量只能存放某一类型的数据。
4.整数默认类型:int类型,小数默认类型:double类型。

5.变量定义一次以后,不能再重新定义一次。
6.char类型数据也可以和int类型相加,但是首先char类型数据会被自动提升为int类型。




































  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值