一.1.java的语句:在程序里面见的整数都是int类型,小数都是double类型;byte short这两个互相运算,其结果类型是int类型;定义float类型的时候,其值如果是小数需要在小数后面加f/F 2.在Java中使用interface来定义接口,class定义类,接口继承接口,多继承,(extends),类的继承是单继承,类实现接口(implements)(多实现) 3.java代码-源码文件(.java),需要先编译源码文件, javac 编译,把源码文件编译成类文件(.class),运行java代码,java 4.输出一个程序 public class Demo{ //编码规范:类名命名规范:大驼峰命名法 public static void main(String[] args){ //向控制台打印内容 //java的语法: //1、代码必须写在类里面,类必须有一组大括号,方法也有一组大括号 //2、代码结束需要写分号;,字符串需要写在一组双引号里面 System.out.print(“hello world”); //print():打印完不换行 //println():打印完以后换行 } } 5.单行注释 // 多行注释 /* / 文档注释 是用来生成帮助文档 API javadoc (java ,javac,javadoc在jdk的bin目录) /* */ 6.字符:转义字符 ‘\t’ “\t” \t tab制表符 \n:换行符 二.标识符 标识符的构成:26大小写字母,数字,_ $构成,还不能以数字开头。还不能使用关键字 关键字:byte short int long,float,double,char,boolean,if else,switch case default break,for,while,do,continue,return,new class import, package,private,protected,public,extends,super,this,static,final,transient,interface,implements,abstract,try catch finally,instanceof,synchronized,void,enum,null,true,false,volatile,native 保留字:goto const 标识符的命名规范:遵循驼峰命名法 类:首字母大写,有多个单词每个单词的首字母都大写。 方法,变量名,参数名,常量名:如果只有一个单词,所有的字母全部小写,如果有多个单词,从第二个单词开始首字母大写,其余字母全部小写。 三.基本数据类型 1.整数类型 存储:最小单位:bit,基本单位:字节 1byte = 8bit 1024byte = 1kb byte:字节 底层0,1来存储
-2^(8*字节数-1) - 2^(8*字节数-1)-1 -2^7 - 2^7-1 -128-127
变量:变量对应得值是可以被改变的 变量定义的格式:类型 变量名 = 值;(变量名:理解成酒店里面的房间号) 改变变量的值通过变量名去修改 变量名 = 值; 获取变量名对应的值,变量名就能获取到。 short:短整型 2个字节,16位范围 -2^15 - 2^15 -1 int:整形 4个字节 ,32位 范围:-2^31 - 2^31-1 long:长整型 8个字节,64位 范围:-2^63 - 2^63 -1 在定义long类型的值的时候需要注意:如果值得范围在int范围之内,直接定义,如果超出int范围,数字后面需要加l/L Scanner Scanner是用来获取用户输入得数据。 使用方法: a、导包 import java.util.Scanner(使用代码编辑器可以忽略) b、创建Scanner得对象 Scanner sc = new Scanner(System.in); c、获取输入得数据 ? 获取byte sc.nextByte(); ? 获取short sc.nextShort(); ? 获取int sc.nextInt(); ? 获取long sc.nextLong(); 2.小数类型 3.字符类型 4.boolean boolean:true和false 四.运算符 1.算术运算符
+ - * / % ++ --
进行四则运算的时候 对于byte short运算出的结果是int类型,其余的,运算的时候,如果类型不一样,运算出的结果是最大类型的类型,如果类型一样,不管怎么运算其结果还是原来的类型 ++ --; 如果++ --是单独出现,这个不区分前后。都是自加减1 如果不是单独出现,需要区分后前。前++和前–:先自加减1在和其它做运算,后++,后–先运算,然后在自加减1 int i = 1; 1 2 3 2 1 1 2 i++ + ++i + --i + i-- + i + i++; 1 3 2 2 1 1 2.赋值运算符 = += -= = /= %= a = b; a += b; // a = a + b; a -= b; // a = a - b; a = b;// a = ab; a /= b;//a = a/b; a %= b; //a = a%b; 3.比较运算符 ==:基本数据类型 比较的是值。 < <= != 返回的结果永远是boolean类型:true和false 4.逻辑运算符 &&:短路且,全部为真,其结果才为真。如果前面为假,其结果为假,就不会取运算后面的。 ||:短路或,只要有一个为真,其结果就为真,如果前面为真,其结果已经为真,不会去运行后面的代码 & |:判断依据和&&,||是一样的,但是这两个运算符是不断路的。 !:非 5.三目运算符 返回一个boolean类型的表达式?值1:值2,当表达式返回true取冒号前面的值,返回false取得是冒号后面的值。 6.位运算符 & 按位与 按位与运算符"&"是双目运算符。其功能是参与运算的两数各对应的二进位相与。只有对应的两个二进位均为1时,结果位才为1,否则为0。参与运算的数以补码方式出现。 | 按位或 按位或运算符“|”是双目运算符。其功能是参与运算的两数各对应的二进位相或。只要对应的二个二进位有一个为1时,结果位就为1。参与运算的两个数均以补码出现。 ^ 按位异或 按位异或运算符“^”是双目运算符。其功能是参与运算的两数各对应的二进位相异或,当两对应的二进位相异时,结果为1。参与运算数仍以补码出现 ~ 取反 求反运算符~为单目运算符,具有右结合性。其功能是对参与运算的数的各二进位按位求反, 正数的补码,反码是其本身,负数的反码是在其原码的基础上, 符号位不变,其余各个位取反,补码是在其原码的基础上, 符号位不变, 其余各位取反, 最后+1. (即在反码的基础上+1) << 左移,相当与2 左移运算符“<<”是双目运算符。其功能把“<< ”左边的运算数的各二进位全部左移若干位,由“<<”右边的数指定移动的位数,高位丢弃,低位补0 x<<y : x*2^y >> 右移,正数高位补0,负数由计算机决定 右移运算符“>>”是双目运算符。其功能是把“>>”左边的运算数的各二进位全部右移若干位,“>>”右边的数指定移动的位数。 x>>y:x/2^y 五.java三大结构 1.顺序结构 2.分支结构 if分支 单分支
if(){
} 双分支 if(){
}else{
} 多分支 if(){
}else if(){
} . . . else{
} 注意:对于多分支会存在多个条件,这么多个条件有可能多个条件返回true,它只会进入第一个满足条件的分支,后面满足条件的分支是不会去执行的。注意:对于多分支会存在多个条件,这么多个条件有可能多个条件返回true,它只会进入第一个满足条件的分支,后面满足条件的分支是不会去执行的。 switch分支 switch(表达式){ case 值1: break; case 值2: break; . . . default: break; } 在switch语句里面的case对应的值都是唯一的,,而且switch语句的表达式只能返回byte,short,int,char,String,enum。表达式返回的值如果和某一个case对应的值一样,进入这个case去执行代码,直到遇到break语句,跳出整个switch语句,如果所有的case都不满足,进入default里面去执行。 swich语句的穿透 switch语句进入某一个case执行代码,如果这个case里面没有break,会出现穿透,会进去下一个case继续执行代码,直到遇到break 3.循环结构
|