随堂笔记
运算符
-
Java语言支持的运算符如下:
* 算术运算符:+ - * / % ++ –
* 赋值运算符:=
* 关系运算符:> < >= <= == != instanceof
* 逻辑运算符:&& || !
* 位运算符: & | ^ ~ >> << >>>(只需要了解即可,也是右移,但是把最高位补0)
* 条件运算符:? :
* 扩展赋值运算符:+= -= *= /=- shift+鼠标选择全部
- ctrl +d :复制当前行到下一行
- ctrl+z: 撤回
- 关系运算符返回的结果:true/false------>布尔值
关系运算
public class D9 {
public static void main(String[] args)
{
int a=9;
int b=20;
System.out.println(a>b);
System.out.println(a<b);
System.out.println(a==b);
System.out.println(a!=b);
}
}
运行结果:
自增自减
public class D9 {
public static void main(String[] args)
{
int a=9;
int b=a++;//执行完这行代码后,先给b赋值,再自增
//a=a+1;相当于这里隐藏了这一行代码
System.out.println(a);
//a=a+1;相当于这里隐藏了这一行代码
int c=++a;//执行完这行代码前,先自增 ,后给c赋值
System.out.println(a);
System.out.println(b);
System.out.println(c);
}
}
运行结果:
Java中的Math(在idea上打上Math后按住F4即可,根据提示,如我的电脑按住的是Fn和F4)
//Math中pow的用法,其余的也相似,幂运算
double pow=Math.pow(2,3);
Systeam.out.println(pow);
逻辑运算
public class D10 {
public static void main(String[] args)
{
boolean a=true;
boolean b=false;
//输出中双引号里的内容直接输出,+可以连接后面括号的输出结果
//&&:两个变量全为真,结果为真,否则为假,只要第一个a为假,则不会计算第二个b,短路
System.out.println("a&&b:"+(a&&b));
//||:一真或就真,全假或才假
System.out.println("a||b:"+(a||b));
//如果为真,则变为真,如果为假,则变为真
System.out.println("!(a&&b):"+!(a&&b));
}
}
运行结果
位运算
public class D10 {
public static void main(String[] args)
{
/*
A=0011 1100我 二进制的数
B=0000 1101
与:A&B =0000 1100 如果对应位全为1,结果才为1,否则为0
或: A|B =0011 1101 如果对应位存在1,结果就为1,否则为0
异或: A^B =0011 0001 如果对应为不相同,结果为1,否则为0
取反:~B =1111 0010 取反
<< 左移 *2
>> 右移 /2
0000 0000 0 0000 0101 5
0000 0001 1 0000 0110 6
0000 0010 2 0000 0111 7
0000 0011 3 0000 1000 8
0000 0100 4 0001 0000 16
*/
System.out.println(2<<3);//2*8,二进制中的2向左移动3为表示的是16
System.out.println(100>>5);
}
}
运行结果:
public class D10 {
public static void main(String[] args)
{
int a=10;
int b=20;
//只要+前面有字符串类型,如空格,那么+就相当于字符串连接符
//拼接作用
System.out.println(""+a+b);
System.out.println(a+b);
}
}
运行结果:
public class D10 {
public static void main(String[] args)
{
/*
x?y:z;
如果x==true,则结果为y,否则结果为z
*/
int score=50;
String type = score <60 ?"不及格":"及格";
//多多练习,可以使代码简洁
System.out.println(type);
}
}
运行结果:
优先级:图片来自
小练习题
关于 Java 的 CLASSPATH 设置,正确的说法是:(1 2 3)
- 可以通过 java 命令的 -cp 参数指定 class path
- 设置 Windows 系统的 %CLASSPATH% 变量可以设定 class path
- 设置 Unix/Linux 系统的 $$CLASSPATH 变量可以设定 class path
- 通过设定JAVA HOME变量和PATH变量,可以在同一台机器上的多个不同版本的JAVA系统中选择使用。
- 在Linux/Unix Shell环境中,使用$JAXA_HOME系统变量,在Windows批处理环境,使用%JAVA_HOME%,两者一样。
- Java系统会根据java home推导一些环境设置,例如库路径。
- 电脑里有多个jdk使用%JAVA_HOME%系统是无法自动匹配找到的,必须使用绝对路径,所以JAVA_HOME中包含多个不同版本的JAVA环境路径,系统是无法自动匹配的。
main不是关键字和保留字,只是程序的入口
var x=3.14;//定义的变量是正确的,在jdk10中,var表示模糊定义
x = new Int(100)//不正确
//java中没有Int类型,只有基本类型int,new是创建对象,int不能通过new出来,只有引用类型才能够通过new关键字创建
- const是java的一个保留关键字,没有实际意义,有了final才是常量定义
包机制
- 包的本质是文件夹
- 为了能够使用到某一个包的成员,我们需要在java程序中明确导入该包,使用“import”语句
如:我们需要倒入Date的包
- 一个包下面有很多个类,我们如果要将这个包下面的全部类全部倒入,需要用到 *,这个是个通配符。
import basee.*;
Java Doc
- javadoc命令是用来生成自己API文档
- 参数信息
- @author 作者名
- @version 版本号
- @since 指明需要最早使用的jdk版本
- @param 参数名
- @return 返回值情况
- @throws异常抛出情况
package javase;
//加在类上面是类注释
/**
* @author 陈楠楠
* @version 1.0
* @since 1.8
*/
public class D1 {
String name;//类变量
//加在方法上面是方法注释
/**
* @param name
* @return
* @throws Exception
*/
public String test(String name)throws Exception//抛出异常
{
return name;
}
}
使用IDEA生产Javadoc文档
方法1:文档里可能有中文,解决乱码,使用-encoding UTF-8(-encoding是编码,UTF-8是编码的格式),并且让他的字符即编码,使用-charset UTF-8
javac -encoding UTF-8 -charset UTF-8 D1.java
方法2:参考网上的方法,自己又实践了一遍方法来自