码迷,mamicode.com
首页 > 编程语言 > 详细

Java自学笔记(第二天)

时间:2014-10-01 01:28:30      阅读:214      评论:0      收藏:0      [点我收藏+]

标签:style   io   使用   ar   java   strong   数据   sp   c   

Java语言基础组成:

(1)关键字:被赋予特殊含义的单词,main不是关键字

(2)标示符:程序中自定义的一些名称,自定义名称,由26个字母大小写,数字0-9,_$组成,数字不可以开头,不可以使用关键字,Java中严格区分大小写,在起名字时,为了提高阅读性,要尽量有意义。包名,所有字母都小写。类名和接口名,所有单词的首字母大写。变量名和函数名,第一个单词首字母小写,第二个单词开始每个单词首字母大写。常量名,所有字母都大写。

(3)注释:单行,多行,文档(Java特有)

(4)常量:常量表示不能改变的数值。Java整数的三种表现形式,十进制,八进制(0开头),十六进制(0x开头),八位二进制数表示一个字节byte (01101001),ASCII编码表,十进制和二进制之间的转换,二进制的负数就是正数取反+1

(5)变量:将不确定的数据进行存储,也就是在内存中开辟一个空间。注意变量名,不能重复。

(6)数据类型:基本数据类型:数值型:整数类型:(byte-1字节,short-2字节,int-4节,long-8节)

                   浮点类型:(float-4字节,double-8字节)

               字符型:(char-2字节)

               布尔型:(boolean-2个值-true-false)

        引用数据类型:类:(class)

               接口:(interface)

               数组:[]

      float x = 1.0f; float 型数值后面要加f。

      long y = 213123l;long 型数值后面要加小写L。

      整数类型默认是 int  浮点类型默认是 double

      字符型(char)可以做运算。

      byte x = 1;

      x = x + 1; --> x = (byte)(x+1);

      int y = 2134;

      y = y/1000*1000; 结果是???.

      

(7)运算符:+正号-负号+加-减*乘/除%取余数,(-1%5)是多少??(1%-5)是多少??  ++ 自加 --  自减   b=a++;和 b=++a 的区别

字符串相连接用连接符号(+):”aaa“+”bbb“

System.out.print(5+5); 运行结果是???

System.out.print(‘a’+5+5);运行结果是???

System.out.print("a"+5+5);运行结果是???

System.out.print(5+5+"a");运行结果是???

字符串数据和任何数据使用+号 都是相连接,最终都会变成字符串

int a ,b;
a=1;

b=++a;
System.out.print(a,b);运行结果是???

int a ,b;
a=1;

b=++a;
System.out.print(a+" "+b);运行结果是???

int a ,b;
a=1;

b=a++;
System.out.print(a+" "+b);运行结果是???

int a ,b;
a=1;

b=a=a+1;
System.out.print(a+" "+b);运行结果是???

转义字符 \ :通过\ 来转变后面字母或者符号的含义,例:\n 是换行的意思,\r 是回车键,\t 制表符。

System.out.print(“\”hello\“”);

System.out.print("\\hello\\");

System.out.print("\"hello\""+\t+"\\hello\\");报错

System.out.print("\"hello\""+"\t"+"\\heloo\\");正确

char ch =‘\‘; ch1=‘‘‘;

System.out.print(ch+ch1);报错

char ch = ‘\\‘;ch1 =‘\‘‘;

System.out.print(ch+ch1);字符作数学运算

赋值运算符:= += -= *= /= %= :x+=1 是 x=x+1 吗? 是 ++x 吗?是 x++ 吗?

例:int a=0,b=0; b=a+=1;

         b=a=a+1;

         b=++a;

         b=a++;   b  分别是多少??????

例:short s = 5;

  s = s+5;报错, + 号 和 = 号 分别 是一次加法运算和一次赋值运算,数据类型不匹配报错

  (整数 默认是 int 型,小数默认是double型)

  s+=5;正确,+= 号是一次赋值操作,把+=左右两边的和赋给左边

比较运算符:== ,!= ,<,>,<=,>=,instanceof,

逻辑运算符:用于连接boolean类型的表达式

&(与)一个假及为假,

|(或)一个真及为真,

^(异或)两边相同为假不同为真,

!(非),

&&(双与)有一个为假剩余部分不再运算效率比&高一点点,

||(双或)有一个为真剩余部分不再运算效率比|高一点点,

位运算符:

<<(左移):3<<2=12 --->  就是 3*2的2次方,

>>(右移):6>>2=1 ---> 就是 6/2的2次方,最高位是1用1补齐,最高位是0用0补齐

>>>(无符号右移):都用0补齐

&(与)(当位运算符使用):

|(或)(当位运算符使用):

^(异或)(当位运算符使用):相同为假,不同为真,一个数异或一个数两次,结果不变,加密使用

~(反码):0...110=6 --->(取反)--->1...001--->(加1)---> 1...010=-6;

      0...111=7          1...000           1...001=-7;

01111111 127
10000001 -127(129)
00000001 1
11111111 -1(255)
00000010 2
11111110 -2(254)
00000000 0
10000000 128

用位运算,计算得出十进制数相对应的十六进制数和二进制数????运用&和>>>

三元运算符:x>1?100:200;

 (8)语句:

if else语句:{}内只有一条语句,{}可以省略不写

三元运算符 与 if else 的区别:三元运算符可以简化if else代码,但是运算符号运算完一定要返回一个结果。

优先判断用户输入的数据是否在客运算区间。

switch 语句:判断条件的数据类型是(byte,short,int,char)

switch(){

case 1:

case 2:

  System.out.print("aaaaa");

多个答案对应一个执行语句

switch不能判断boolean型,不适合判断区间

Java自学笔记(第二天)

标签:style   io   使用   ar   java   strong   数据   sp   c   

原文地址:http://www.cnblogs.com/yangyujoe/p/4001232.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!