学习Java进度总结(一)

1 、Java语言特点

  • 面向对象(贴近人类思维模式,模拟现实世界,解决现实问题)

  • 简单性(自动内存管理机制,不易造成内存溢出;简化流程处理)

  • 跨平台(操作系统,服务器等)

2、Java执行机制

先解释、再编译:

  • 将源文件编译成字节码文件(平台中立文件.class),再将字节码文件进行解释执行
  • Java的设计理念:Write Once Run Anywhere

3、名词解释

JVM 虚拟机

  • 使用软件在不同的操作系统中,模拟Java运行的环境。

JRE 运行环境

  • 包含JVM和解释器,包含了Java运行环境的核心库类,完整的Java运行环境。

JDK 开发环境

  • 包含了各种Jaa开发工具包,以及JRE。

4、第一个Java应用程序

class HelloWorld{
      public static void main (String[] args){
          System.out.println("Hello World");
}
}

5、类的阐述

  • 同一个源文件中可以定义多个类。
  • 编译后,每个类都会生成独立的  .class文件。
  • 一个类中,只能有一个主方法,每个类都可以有自己的主方法。
  • public修饰的类称为公开类,要求类名必须与文件名完全相同,包括大小写。
  • 一个源文件中,只能有一个公开类。

6、编码规范 书写格式

  • 层级之间必须缩进(Tab:一个制表位)
  • 一行只写一句代码
package demo;

public class H{
     
  public static void main(String[] args){
        System.out.println("Hello");
       
        System.out.println("World");
    }


}

6、编码规范 代码注释

单行注释:

  • //单行注释

多行注释

  • /*多行注释*/

文档注释(生成外部文档:javadoc -d . HelloWorld.java)

  • /** 文档注释*/

注:注释不参与编译

7、编码规范 标识符命名

语法规定:

  • 可以由:字母、数字、_、$组成,但不能以数字开头
  • 不能与关键字、保留字重名。

约定俗成:

  • 类名由一个或者多个单词组成,首个单词字母大写(pascal)
  • 函数名、变量名由一个或者多个单词组成,首单词首字母小写,拼接词首字母大写。
  • 包名全小写,只可以使用特殊字符".",并且不以"."开头或者结尾
  • 常量全大写,多个单词用_连接。

8、关键字概述

Java语言赋予特定含义的单词
  • HelloWorld案例中,出现的关键字有publicclassstaticvoid等,这些单词已经被Java定义好,全部都是小写字母,

9、常量概述

常量:是指在Java程序中固定不变的数据。
整数常量 所有的整数;    0,1 567 -9
小数常量: 所有的小数;    0.0 -0.1 2.55
字符常量 :单引号引起来,只能写一个字符,必须有内容 ;   ‘a’, ' ', '好 
字符串常量 :双引号引起来的内容,可以写多个字符,也可以不写 ;   
“A” , "hello" , "你好 " “”
布尔常量 :只有两个值(流程控制中讲解);   true , false
空常量 :只有一个值(引用数据类型中讲解);null

10、进制概述以及转换

进制:就是进位制,是人们规定的一种进位方法。 对于任何一种进制--X进制,就表示某一位置上的数运算时是逢X进一位。二进制就是逢二进一,八进制是逢八进一,十进制是逢十进一,十六进制是逢十六进一。
不同进制的组成规则
  • 二进制

01组成。以0b开头

  • 八进制
0 1 ...7 组成。以 0 开头
  • 十进制
0 1 ...9 组成。整数默认是十进制的
  • 十六进制
0 1 ...9 a b c d e f (大小写均可),以 0x 开头
十进制转到其他进制
  • 通过十进制推出结论
  • 52分别表示成二进制,八进制,十六进制

除基取余,直到商为0,余数反转

十进制和二进制的快速转换
  • 8421
8421 码是中国大陆的叫法, 8421 码是 BCD 代码中最常用的一种。在这种编码方式中每一位二值代码的1 都是代表一个固定数值,把每一位的 1 代表的十进制数加起来,得到的结果就是它所代表的十进制数码。

二进制和八进制,十六进制如何转换
  • 以十进制为桥梁
  • 二进制到八进制 3位组合
  • 二进制到十六进制 4位组合
有符号位的数据表示法
 在计算机内,有符号数有 3 种表示法:原码、反码和补码。所有数据的运算都是采用补码进行的。
  • 原码
就是二进制定点表示法,即最高位为符号位, “0” 表示正, “1” 表示负,其余位表示数值的大小
  • 反码
正数的反码与其原码相同;负数的反码是对其原码逐位取反,但符号位除外。
  • 补码
正数的补码与其原码相同;负数的补码是在其反码的末位加 1

11、变量和数据类型

变量:常量是固定不变的数据,那么在程序中可以变化的量称为变量。
Java 的数据类型分为两大类:
  • 基本数据类型:包括 整数、浮点数、字符、布尔。
  • 引用数据类型:包括 类、数组、接口。

四类八种基本数据类型:

  • 字节型:byte
  • 短整型:short
  • 整型:int
  • 长整型:long
  • 单精度浮点数:float
  • 双精度浮点数:double
  • 字符型:char
  • 布尔型:boolean

注意:在同一个大括号范围内,变量名不能相同。定义的变量需要初始化值。

12、数据类型转换

自动转换 :将取值范围小的类型自动提升为 取值类型大的范围。
public static void main(String[] args) {
       int i = 1;
       byte b = 2; 
       // byte x = b + i;
       // 报错 
       //int类型和byte类型运算,结果是int类型 
       int j = b + i; 
       System.out.println(j); 
}
强制类型转换 :将取值范围大的类型 强制转换成 取值范围小的类型。
public static void main(String[] args) {
//short类型变量,内存中2个字节
      short s = 1;
/*出现编译失败 s和1做运算的时候,1是int类型,s会被提升为int类型s+1后的结果是int类型,将结果在赋值会short类型时发生错误 short内存2个字节,int类型4个字节 必须将int强制转成short才能完成赋值 */
      s = s + 1;//编译失败
      s = (short)(s+1);//编译成功
}

13、运算符

算术运算符:+、-、*、/、%、++、--

赋值运算符:
= , +=, -=, *=, /=, %=
= 为基本的赋值运算符,其他的为扩展的赋值运算符
关系运算符:==、!=、>、<、>=、<=
逻辑运算符:&、|、^、!、&&、||
“&”“&&”的区别:
  • &时,左边无论真假,右边都进行运算。
  • &时,如果左边为真,右边参与运算,如果左边为假,那么右边不参与运算。
“|”“||”的区别同理,双或时,左边为真,右边不参与运算。
异或( ^ )与或( | )的不同之处是:当左右都为true时,结果为false
  • &:有false则false
  • |:有true则true
  • ^:相同false,不同true
  • !:非false则true,非true则false
  • &&,||和&以及|的区别,结果相同,但是有短路效果,一般建议使用&&,||

位运算符:>>、<<、>>>、&、|、^ 、~

三目运算符:

  • 格式:
( 关系表达式 )? 表达式 1 :表达式 2
如果条件为 true ,运算后的结果是表达式 1
如果条件为 false ,运算后的结果是表达式 2
  • 示例
获取两个数中大数。
public class Test {
    public static void main(String[] args) {

      int a= 3;
      int b=4;
      int  c = (a>b)?a:b;
      System.out.println("最大值为"+c);



}
}

14、键盘录入数据

实现步骤:
  • 1. 导包(位置放到class定义的上面)
import java.util.Scanner;
  • 2. 创建对象
Scanner sc = new Scanner(System.in);
  • 3. 接收数据
int x = sc.nextInt();

15、流程控制语句

if 语句格式 1:
if( 关系表达式 ){
     语句体 ;
 }
if 语句格式 2:
if( 关系表达式 ) {
   语句体 1;
 }else {
语句体 2;
 }
if 语句格式 3
if( 关系表达式 1) {
语句体 1;
}else if ( 关系表达式 2) {
语句体 2;
}
else {
语句体 n+1;
}
例: 商场根据会员积分打折,
2000分以内打9折,
4000分以内打8折
8000分以内打7.5折,
8000分以上打7折,
使用if-else-if结构,实现手动输入购物金额和积分,计算出应缴金额;
public class Test {
    public static void main(String[] args) {

  Scanner S =new Scanner(System.in);
		System.out.println("请输入一个整数值:");
		int a = S.nextInt();
		if (a>0 && a<=2000 ){
			System.out.println("打九折!");
		}else if (a>2000 && a<=4000){
			System.out.println("打八折!!");
		}else if (a>4000 && a<=8000){
			System.out.println("打7.5折!!!");
		}else if(a>8000){
			System.out.println("打七折!!!!!");
		}else{
			System.out.println("输入数据存在错误,请重新输入....");
		}



}
}

switch 语句
switch语句格式:
switch(表达式) {
case 值1:
语句体1;
break;
case 值2:
语句体2;
break;
…
default:
语句体n+1;
break;
}

例:(switch 语句)录入一个整数,如果是1~5 之间,则分别输出5 个福娃的名
字,否则输出“北京欢迎你”。

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

   Scanner S =new Scanner(System.in);
   System.out.println("请输入一个整数值:");
   int a = S.nextInt();
   switch (a){
   case 1:
   System.out.println ("团团");
   break;
    case 2:
	System.out.println("圆圆");
    case 3:
	System.out.println("欢欢");
	break;
	case 4:
	System.out.println("迎迎");
	break;
	case 5:
	System.out.println("妮妮");
	break;
	default:
	System.out.println("北京欢迎你!!!");
	break;
          }
}
}

case具有穿透性:

switch 语句中,如果 case 的后面不写 break ,将出现穿透现象,也就是不会在判断下一个 case 的值,直接向后运行,直到遇到break ,或者整体 switch 结束。
循环语句
for 循环语句格式
for( 初始化表达式① ; 布尔表达式② ; 步进表达式④ ){
循环体③
}
例:打印九九乘法表
public class Test {
    public static void main(String[] args) {

        int i = 0;
		int j = 0;
		for(i=1; i<=9; i++) {
			for(j=1; j<=i; j++) {
			//print是不换行输出;而println是换行输出。该处使用print输出
			System.out.print(i + "*" + j + "=" + i*j + "\t");
			}
			System.out.println();
		}

}
}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值