变量
概述:就是一个容量,用于存储数据
语法:
1.生命的同时直接赋值
数据类型 变量名=值;
String name=”传播智客”
2.先声明后赋值
声明:数据类型 变量名:String name;
赋值:变量名=值;name=”黑马程序员”;
标识符命名规则:
1.只能有字母,数字,下划线,美元符号组成。
2.不能用数字开头。
3.不能与关键字重名。
4.严格区分大小写。
运算符
算术运算符:+ - * / %
注意两个整数相除,结果一定是整数。
比较运算符:
逻辑运算符:
复合赋值运算符:
自增\自减运算符:++ --
区分表达式的值和变量的值
例如int num=3;
Ststem.out.println(num++);输出的是num++表达式的值,num++这个表达式的值就是num的值,然后num变量的值再增1,注意此刻输出的是表达式。
又例如:
Int num=3;
Int res=++num
System.out.println(num);//4
System.out.println(res);//4变量的值自增1,增完后将变量值赋值给表达式。
前自增和后自增,唯一的区别就是表达式的值是先后赋值的区别。
再例如:
Int num=3;
Int res=++num – num-- - ++num+ num++ + ++num //6
表达式值/num值
Int res=(++num) –( num--) –(++num) + (num++) + (++num)
4/4 4/3 4/4 4/5 6/6
定义类\定义方法
定义类的语法:
Public class 类名{
//属性(变量)
//方法(函数)
}
注意:类里面只能定义上述两种,也就是属性和方法,不能有其他东西,比如不能有System.out.println();等等
注意:
1.方法和方法之间是平行关系
2.方法不调用不会被执行
3.返回值存在,则返回值数据类型就是方法的数据类型,必须要有return语句。
定义方法的语法:
Public 返回值类型 方法名(数据类型 参数1,数据类型 参数2……){
//方法体
}
返回值不存在,则返回值类型就是void ,没有return语句。
成员变量和局部变量。
//成员变量:定义在类里面,方法外面的变量,系统会自动默认赋值
//局部变量:定义在方法里面的变量,系统不会赋值。
//变量没有赋值的时候是不能直接使用的。
因此上面age出错,weight不报错输出。
成员变量默认赋值:int为0;
Float为0.0
Double为0.0
String为null
Char为空
Boolean为false
鼠牛虎兔 龙蛇马羊 猴鸡狗猪
Char ch1=’0’;//48
Char ch2=’a’;//97
Char ch3=’A’;//65
Int num=’a’;,此时的num为97,字符有双重属性
%取余的用处是判断偶数a%2==0;则a是偶数
变量的类型不可更改,不可更改,不可更改!!!
变量没有赋值不可以使用,不可以使用,不可以使用!!!
比较表达是的结果返回为boolean类型的数据,所以比较表达式可以作为If在结构的条件判断
逻辑运算符的两边一定要是boolen类型的数据。类似于2&&3是不对的。但是也可以是表达式,前提是表达式的结果是布尔类型的数据。
&&和||的短路问题
&&只要左边为false,则右边不再执行。
||只要左边为true,则右边不再执行。
Int num=3,num2=3;
System.out.println((3>5)&&(8>num++));
System.out.println((3<5)||(8>num++));
System.out.println(num); //结果为3
System.out.println(num2); //结果为3
If(myBoolean)等价于if(myBoolean==true)
在C语言中,布尔值可以等于0,1234等,但是java里面只能赋值单词true 与false.
条件语句规范:
If 和对应的else if 和else写在一起,if和if 分开写;
If(){
}else if(){
}else(){
}
If(){
}else{
}
比如说if(3>2)里面虽然是表达式,但是表达式的结果是布尔值。
方法就是函数,函数就是方法
方法的分类:
1:无参数无返回值的方法
2:无参数有返回值的方法
3:有参数无返回值的方法
4:有参数有返回值的方法
定义方法的语法:
权限修饰符返回值类型 方法名(数据类型 参数1,数据类型参数2,...)
方法的执行顺序:
1,服务器调用方法
2,声明形参
3,调用方法
4,将方法加载到内存中
5,声明形参变量
6,实参传递给形参
7,执行方法体
8,将方法体的返回值进行赋值
“”这是一个字符串常量
Java里面条件语句if(0<=a<=4)这种写法是不对的,正确写法是if(0<=a&&a<=4)
其中,错误ArrayIndexOutOfBoundsException指数组索引越界异常
比如说数组本来就是空的,访问的东西不存在,超出了存在的边界。
正确程序应该加上一句:同时要记住,并不是数组或者字符串直接和null比较,而是计算其长度来和0进行比较
其他:
Java与c语言的不同之处有:
数组在声明的时候,不仅方法不同,申请空间是还必须确定长度
符串的首尾比较
整形的数据大小比较使用==
字符串长度,str.length()
数组长度 str.length
字符串相等比较使用 .equals
Str[0].equals(str[str.leng()-1])