1:java
1Helloworld
.java中必须有一个类包括public static void main(String arg[])方法,这个类是程序的主类,arg[]是main方法的一个参数,是一个字符串类型的数组。
public class Hello {
public static void main(String arg[]){
System.out.println("大家好");
System.out.println("nice to meet you");
Student stu=new Student();
stu.speak("we are student");
}
}
class Student{
public void speak(String s){
System.out.println(s);
}
}
2.java基础
.编译型:操作系统整体类的使用c。c++,效率更高
解释型:网页类对效率追求不高的
java其中都包括两个
1.基础语法
配置基础环境
[外链图片转存失败,源站可能有防盗链机制,建议将图
片保存下来直接上传(img-cfhdb8w7-1610956089013)(C:\Users\熊某\Desktop\学习报告使用图包\1.png )]
- 单行注释//
- 多行注释/**/
- 文档注释/****/
- 标识符:标识符是大小敏感的Man和man都行作为不同的标识符
- java语言要严格遵守规定,所有变量都要定义后再进行使用
- 八种基本类型
public class demo1 {
public static void main(String[] args) {
int num1=1;
byte num2=14;
long num3=15l;//long类型后面也需要加l
short num4=30;
float num5=50.2f;//float类型要在后面加f
double num6=3.1415926;
//字符表示单纯的一个字
char name='a';
//字符串string不是关键字,类
String namea="我是帅哥";
//布尔值代表是非
boolean l=true;
}
}
3.demo1
-
字符类型扩展
-
import org.omg.Messaging.SYNC_WITH_TRANSPORT; public class demo2 { public static void main(String[] args) { //整数拓展 进制 二进制0b 十进制 八进制0 十六进制0x int i1=10; int i2=010; int i3=0x10; System.out.println(i1); System.out.println(i2); System.out.println(i3); //浮点数扩展 //BigDecimol 数学工具类 //================== //float 离散 有限 舍入误差 大约 接近但不等于 //double //最好避免完全使用浮点数进行比较 //最好避免完全使用浮点数进行比较 //最好避免完全使用浮点数进行比较 float a1=545645465494f; float a2=a1+1; System.out.println(a2 == a1); //字符拓展? //============== char c1='a'; char c2='中'; System.out.println(c1); System.out.println((int)c1);//强制换行 System.out.println(c2); System.out.println((int)c2); //所有的字符本质还是数字 //编码 Unicode 表:(97=a ) 2字节 0-65536 Excel 2 16=65536 //U0000 UFFFF char c3='\u0071'; System.out.println(c3); //转义字符 // \t 制表符 // \n 换行符 System.out.println("Hello\nWorld"); //======================= String sa= new String("Helloworld"); String sb=new String("Helloworld"); System.out.println(sa==sb); String sd= "Helloworld"; String sc="Helloworld"; System.out.println(sc==sd); //不同的结果从对象和内存分析 //布尔值扩展 boolean flag=true; if (flag=true){} if (flag){} //代码要精简易懂 } }
1.类型转换
public class demo3 {
public static void main(String[] args) {
int i=128;
Byte b=(byte) i;//内存溢出
//高到低转换需要进行强制转换
//低到高则不要强制转换
byte c1=11;
int c2=(int)c1;
System.out.println(c1);
System.out.println(c2);
System.out.println(i);
System.out.println(b);
/*
1.不能对布尔值进行转换
2.不呢吧对象类型转换为不相干的类型
3.高到低转换需要进行强制转换
4.转换的时候可能存在内存溢出,或者精度问题
*/
System.out.println((int)56.5);
System.out.println((int)555.55f);
char c4='a';
int c5=c4+1;
System.out.println(c4);
System.out.println((char) c5);
}
}
public class demo4 {
public static void main(String[] args) {
//操作比较大的数的时候,注意溢出问题
//jdk7新特性,数字之间可以用下划线分割
int c1=20;
long c2=100000000000L;//注意类型的范围
long total1=c1*c2;
System.out.println(total1);
}
}
2.变量和常量
遵循规范
- 类成员变量:命名的规范首字母小写,遵守驼峰原则
- 局部变量:首字母大写和驼峰原则
- 常量:大写字母和下划线:MAX_VALUES
- 类名:首字母大写和驼峰原则:ManTail
- 方法名:首字母小写和驼峰原则:run(),runRun()
public class demo6 {
//属性:变量
//类变量 static
static double salary=2500;
//变量类型前面都是修饰符,不存在先后顺序
static final double PI=3.147;
//实例变量:从属于对象,如果不赋予值,这个类型的默认值 0 0.0
//布尔值:默认为false
//除了基本类型其余都是null
String name;
int age;
//main方法
public static void main(String[] args) {
//局部变量;必须声明和初始化值
int i=1;
//变量类型 变量名字=new demo6();
demo6 demo6=new demo6();
//类变量 static
System.out.println(salary);
System.out.println(PI);
}
}
3.运算符
cast:转换
1。各种基础的运算符
ckage operator;
public class Demo01 {
public static void main(String[] args) {
//二元运算符
//ctrl+d :复制当前行到下一行
int a=10;
int b=20;
int c=30;
int d=40;
System.out.println(a+b);
System.out.println(a-b);
System.out.println(a*b);
System.out.println(a/(double)b);
long a1=233333333333L;
byte a2=12;
short a3=10;
int a4=123;
System.out.println(a1+a2+a3+a4);//long有long类型结果就为long类型
System.out.println(a2+a3+a4);//int
System.out.println((a3+a4));//int
//String类型无法转换为int类型
//关系运算符返回的值的为true,false为布尔值
//if
int b1=10;
int b2=20;
int b3=44;
System.out.println(b1<b2);
System.out.println(b1==b2);
System.out.println(b3%b1);//得余数 b3/b1=4余4结果为4
}
}
2.关于自增和自减
int b=a++的含义是先进行赋值语句a再进行自增,所以b的值为原a值
a值为原a+1
int b=++a的含义是a先进行自增再进行赋值所以b值为a+1,a值也为a+1
package operator;
public class Demo2 {
public static void main(String[] args) {
//++ -- 自增 自减
int a=4;
int b=a++; //执行完这行代码后先给b赋值,再进行自增
//a=a+1
System.out.println(a);
int c=++a; //执行完这行代码前先进行自增,再进行赋值
System.out.println(c);
System.out.println(a);
System.out.println(b);
//幂运算 2^3 2*2*2=8 很多操作,我们会使用一些工具类来操作
double pow=Math.pow(2,3);
System.out.println(pow);
}
}
3.关于与或非和位运算
package operator;
import com.sun.xml.internal.bind.v2.runtime.unmarshaller.StructureLoader;
public class Demo3 {
public static void main(String[] args) {
//逻辑运算符 与(and) 或(or) 非(!)
boolean a= true;
boolean b=false;
System.out.println("a && b:"+(a&&b));
System.out.println("a || b:"+(a||b));
System.out.println("!(a && b):"+!(a && b));
//短路运算
int c=5;
boolean d=(c>4)&&(c++<4); //and前面为真时才会执行后面的语句不然会短路,后面语句就不会执行
System.out.println(d);
System.out.println(c);
/*低层运算经常使用的
位运算 效率极高!!!
* A=0011 1100
* B=0000 1101
* A&B = 0000 1100 双一才为一其余都为零
* A|B = 0011 1101
* A^B = 0011 0001
* ~B = 1111 0010
* <<左移 >>右移
* 左移等于乘以2
* 右移等于除以2
* 因为移动是在位上面进行的 所以计算机进行运算的效率极高
* 0000 0001 1
* 0000 0010 2 左移一位
* 0000 0100 4 左移一位
* 0000 0010 2 右移一位
* */
}
}
4.关于三元运算和输出时+的作用还有+=与-=的使用
package operator;
public class Demo4 {
public static void main(String[] args) {
int a=10;
int b=20;
a+=b;//a=a+b
System.out.println(a);
a-=b;//a=a-b
System.out.println(b);
//字符串连接符 + ,两边出现String类型就会把两边转换成String进行运算
System.out.println(""+a+b);//字符串在前面后面内容不会相加会进行拼接
System.out.println(a+b+"");//字符串如果在后面则前面会进行相加
//===========================三元运算符
//x ? y : z
//如果x==true,则结果位y,否则为z
int score=99;
String type= score>89?"合格":"铁混子";
System.out.println(type);
//三元运算是偷懒的,但是经常用,因为这让代码更加精简必须掌握!!!!!
int salary=1200;
String job=salary>1200?"正常工资":"贫困群众";
System.out.println(job);
//优先级()
}
}
5.javaDoc的应用
参数信息
-
@author作者
-
@version版本号
-
@since指明所需要使用的最早的jdk版本
-
@param参数名
-
@return返回值情况
-
@throws异常抛出情况
-
api帮助文档查看地址:https://www.oracle.com/java/technologies/java-se-api-doc.html
-
关于使用cmd进行对文档进行java生成文档javaDoc -encoding UTF-8 -charset UTF-8 java文件名中间的参数是表示对其中的中文进行编码
常工资":“贫困群众”;
System.out.println(job);//优先级()
}
}
### 5.javaDoc的应用
参数信息
1. @author作者
2. @version版本号
3. @since指明所需要使用的最早的jdk版本
4. @param参数名
5. @return返回值情况
6. @throws异常抛出情况
7. api帮助文档查看地址:https://www.oracle.com/java/technologies/java-se-api-doc.html
8. 关于使用cmd进行对文档进行java生成文档javaDoc -encoding UTF-8 -charset UTF-8 java文件名中间的参数是表示对其中的中文进行编码
9. 写代码需要依据规范可以看阿里巴巴的java开发手册