JavaSE的学习

java

若java文件中包含几个类,就会产生几个class文件,所以产生了3class文件


//1.public class Hello 表示Hello是一个类,是一个public公有类
//2.Hello{ }表示一个类的开始和结束
//public static void   main(String [] args),表示一个主方法,也是程序的入口


public class Hello {

//编写一个main方法
 	public static void main(String[] args){
 		System.out.println("hello,world12313");
	} 	
}

class  Dog {

//一个源文件中最多只能有一个public类。也可以将也可将main方法写入public类中,
//指定运行非public类,这样入口方法就是非public的main()方法
	public static void  main(String[] args){
		System.out.println("myname is dog");

	}

}

class Tiger{

	public static void  main(String[] args){
		System.out.println("myname is tiger");

	}

}

第一章之了解篇

Dos命令

Dos命令: Disk Operating System 磁盘操作系统。

常用的dos命令

  1. 查看当前目录有什么 用法 -> dir d://tmp\lnk
  2. 切换其他盘下 磁盘+cd 用法 -> m: cd
  3. 切换上一级 cd..
  4. 切换到根目录 cd \
  5. 清屏 cls
  6. 文件结构 tree
  7. 退出Dos系统 exit
  8. 强制退出黑窗口 Ctrl+ C
  9. md 文件夹 创建目录
    .

java的特点

  • java 语言是面向对象的(oop)
  • java语言是跨平台性质的(JVM)
  • java有垃圾回收机制

为什么说java是跨平台的?

写好的代码文件是java文件,通过编译器(javac)编译成二进制class文件,再通过java虚拟机(JVM)转换成不同的平台。想运行一个开发好的Java程序,用户只需要装JRE就行

java文件–>javac编译–>class文件(字节码文件)–>Java运行->结果


环境变量的作用:为了在dos的任意目录下都可执行java和javac命令

JDK的全称是Java的开发工具包
JDK=JRE+java的开发工具(java,javac, javadoc,javaP)


JRE的全称是JAVA的运行环境,JVM的全称是java虚拟机
JRE= JVM+ java的核心类库(类)

java的代码规范

  1. 类,方法的注释,要以javadoc的方式来写
  2. 非Java Doc 的注释 ,往往是给代码的维护看的,告诉读者为什么这样写,如何修改,注意什么问题
  3. 使用tab操作,实现首行缩进,默认整体向右边移动,用shift+tab整体向左移
  4. 运算符和 = 两边习惯左右各加个空格
  5. 源文件使用utf-8编码
  6. 行宽度不要超过80字符
  7. 代码编写 次行风格和行尾风格

其他知识

请添加图片描述
请添加图片描述因为Java文件的文件名应该和public公开类名一致,所以按上图所说,文件名应该是Hello.java

重点

  1. java源文件的基本组成部分是类(class)
  2. java应用程序的执行入口是main()方法,public static void main(String[] args){…}
  3. java区分大小写
  4. 一个源文件最多只能有一个public类。其他类个数没有限制
  5. 如果源文件包含一个public类,则文件名必须按照该类名命名

第二章之初识篇

编码字节换算

1 kB = 1000 byte(字节) = 1000B = 8000bit(位) = 8000b
1 KiB =1024 bytes
1B(字节[byte])=8b(位[bit])

utf-8编码,汉字占3字节,字母占1字节
Unicode和UTF-8编码都兼容ASCII编码
kB一般用在表示网络传输速度、硬盘大小等地方,而KiB一般用在表示内存或cpu cache大小等地方。
请添加图片描述

转移字符

\t |一个制表位实现对齐功能
------------------
\n | 换行
------------------
\\  |  一个\
------------------
 \r  |  一个回车
------------------

代码注释和文档注释

代码注释

  • 单行注释(//)
  • 多行注释(/**/)
  • ctrl+/ 可以多行注释

文档注释

注释内容可以被JDK提供的工具javadoc所解析,生成一套以网页文件形式体现的该程序的说明文档

注释解析:javadoc -d m:\\tmp -author -version ss.java

请添加图片描述

请添加图片描述

请添加图片描述

数据类型

请添加图片描述

int,flaot,double的使用
  1. java的各整型,浮点型有固定的范围和字段长度,不受os的影响,以确保java的可移植性

  2. java的整型常量默认为int型,声明long型变量需加l或L

  3. java的浮点型常量默认为double型,声明float型变量需加f或F

  4. 浮点数在机器中存放形式,浮点数=符号位+指数位+尾数位(尾数位部分可能丢失)

  5. 通常情况下,浮点型用double,因为它比float更精确。

public class type {
	public  static void main (String[] args) {
	
		
		byte num1 = 127;
		short num2 = 14;
		int num3 = 1999;
		long num4 = 325L;

	    float num5 = 1.1; //错误的,这属于大放进小
	    float num6 = 1.1F;
	    double num7 = 1.1;
		double num8 = 1.1F; //可以的,这属于小放进大
		double num9 = .156; //可以的,这等价于0.156

		double num10 = 5.12e2;
		double num11 = 512e-2;

		float num12 = 5.0123456789F;
		double num13 = 5.0123456789;
		 System.out.println(num12);
		 System.out.println(num13);

在这里插入图片描述

	  	double num14 = 2.7;
		double num15 = 8.1 / 3;
		  System.out.println(num14);
		  System.out.println(num15);
		  
	//  运算结果是小数时,别进行相等判断
	 // 正确判断运算结果是否相等的写法(绝对值)
	     if(Math.abs(num14 - num15)!=0) {
	           System.out.println("两数不相等,差值为"+Math.abs(num14 - num15));	
	     }
	     
	}
	
}

在这里插入图片描述

char的使用
public  class chars {
	public static void main(String[] args) {
      char c1 = 'a';
      char c2 = '\t'; //java中允许使用变量相当于转义字符'\t'的功能
      char c3 = 98;   //char本质是一个整数,在输出时,会找到unicode码对应的字符。比如98代表的是b
      char c4 = '祝';
      char c5 = 'a' + 1;

      System.out.println(c1+"的unicode字符对应是"+(int)c1);//将输出a对应的数字
      System.out.println("女"+c2+"册");
      System.out.println(c3);
      System.out.println(c4+"的unicode字符对应是"+(int)c4);
      System.out.println('a'+ 15);  //char类型是可以运算的,相当于一个整数
      System.out.println((int)c5);
      //  因为字符a对应的ascii值为97,做数值运算得98,对应得unicode字符是b,通过int转换为98
      System.out.println(c5);

     //字符型存储到计算机中,需要将字符对应的码值找出,再转换成二进制存进电脑
     //存储 'a' >> 码值为97 >>二进制‭(01100001‬)>> 存储到电脑,反之读取就是逆向操作。

	}
}

在这里插入图片描述

boolean布尔的使用

布尔类型 之boolean

1.boolean类型数据只允许取值 truefalse
2.boolean类型占1个字节
3.boolean类型适用于逻辑运算,【if ,while,do-while, for】

public  class Boolean_txt  {
	
	public static void  main(String []    args) {
		//定义一个布尔型 pass
		boolean  pass = true;
		
		if( pass == true) {
			
		System.out.println("pass the exam");	
			
		} else {
			
			System.out.println("fail the exam");
			
		}
			
		
	}
}

重点

1.当java程序在进行赋值或运算时,精度小的类型自动转换为精度大的数据类型。
2.多种类型的数据混合运算的时,系统首先自动将所有数据转换成容量最大的那种类型,再继续运算
3.(char,byte)和short之间不能相互转换,但这三者可以运算,在运算时就会先转换成int类型
4.自动提升原则: 表达式结果的类型自动提升为操作数最大的类型
5.强制类型:就是将容量大的数据转换成容量小的数,而会导致精度降低或溢出,这是强制转换符()
6.强制符号只针对最近的操作数有效,往往使用小括号提升优先级

char>>int>>long>>float>>double
byte>>short>>int>>long>>float>>double

public  class Boolean_txt  {
	
	public static void  main(String []    args)  {
	
  	byte b1 = 1;
	byte b2 = 2;
	short s1 = 1;

    int s2 = b1 + b2;  //可以,b1+b2在运算时,就变成了int类型
    short  s2 = b1+s1; // 不可以,b1+s1	在运算时,就变成了int类型,但int转short规则上不行
     byte b3 = b1+b2; // 不可以,b1+b2	在运算时,就变成了int类型,但int转bytet规则上不行	
	boolean pass = ture;
	int num = pass;//不可以,boolean不参与转换
    

	short s1 = 1;
	byte b1 = 1;
	int num = 3double m = 1.1;
	
	double add = s1 + b1 + 3 + 1.1;//因为运算时最大的类型时double,所以运算结果是double类型
	int   add = s1 + b1 + 3 + 1.1;//不可以,因为运算时最大的类型时double,所以运算结果是double类型
	                                                         可以强转,但结果的精度会失去

// char类型可以保存int的常量值,但不能保存int的变量值,需要强转
char  m = 24; //可以存
char  h = m;  //错误的,除非强转  char h=  (char)m

int x =(int)5.6;
System.out.println(x);


	
	}
	
}

String型和基本类型的转换

基本数据类型 转换成 String型,只需要将变量+""
String型 转换成 基本数据类型,需要通过基本类型的包装类调用parsexx方法

public  class     newm  {
	
	public   static  void  main(String []    args)  {
	
  



int n1  = 100;
float n2 = 1.1F;
double n3 =5.6;

String m1= n1 + "";//将整型n1转换为String型
String m2= n2 + "";//此时m2已是字符串类型
String m3= n3 + "";
System.out.println(m1);
System.out.println(m2);
System.out.println(m3);
System.out.println(n2+n3);//结果是double型6.7000000238418576
System.out.println(m2+m3+"\n");//结果是字符串String型1.15.6

String  ss = "123";

int  num1 = Integer.parseInt(ss); //将String型 ss转换为整型
double   num2 =  Double.parseDouble (ss); 
float  num3 =  Float.parseFloat(ss);
double num4 =  Double.parseDouble(ss);
byte num5 =Byte.parseByte(ss);
System.out.println(num1+" "+num2+" "+num3+" "+num4+" "+num5);
System.out.println(ss.charAt(0));//将ss字符串取其第一个字符输出为char类型



	}
	
}

在这里插入图片描述

第三章_算术运算符(ArithmeticOperator)

基本运算符 +,-,*,/
高级运算符 取模%,自增++,自减--,拼接符+

自增&自减的用法

前++:先增后取值;后++:先取值后自增
前–:先自减后取值;后–:先取值后自减
取模(%) 公式 a%b=a - a / b * b

 System.out.println( 10 % 3 );  result = 1
	System.out.println( -10 % 3 );  result = -1
   System.out.println( 10 %  -3 );  result = 1
int i = 10;
//需要注意i++,++I作为单独是相等的
i++; result是11
++I; result是11
//而++i,i++作为运算就得遵守规则。
// 前++先增后取值,后++先取值后增
int j = 8;
int k = ++j; // j=j+1; k=j; j=9,k=9
int k = j++; // k=j; j=j+1; k=8,j=9

----------------------------------
注意
int i=1;
i=i++System.out.println( i); result =1
因为 i++在执行时,会创建个临时变量temp,然后将最左边的i赋给temp
temp=i; 然后执行i=i+1; 然后释放变量temp,将temp再还给i,i=temp;

小练习
int i =1 ;
i = ++i; // 嗯,知道,i=i+1;temp=i;i=temp;
System.out.println( i); result =2

----------------------------------

练习

需求:  假如天数60,求还有多少星期零几天?
分析》 星期:days / 7,剩余天数 days % 7
实现:

public class  text {
	
	public static  void main (String [] args) {
		
		int days=60int Week = days / 7;
		int day = days % 7;
		System.out.println( "还有"Week+"星期"+"剩"+day+"天");
	  
	}
	
}



  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值