`

张孝祥java基础开发第二章总结

阅读更多

张孝祥java基础开发第二章总结:
1、java程序代码必须放在一个类中
2、定义一个类:class+类名+{}  在{}中间放我们要编写的代码

//FileName Lession2.java
class Lession2{
 public static void main(String[] args){
 }
}

 
3.java中是区分大小写的。例如:修改Lession2.java的main为Main

//FileName Lession2.java
class Lession2{
 public static void Main(String[] args){
 }
}

 
dos控制台编译文件:
C:\javawork\lession2>javac Lession2.java
dos控制台运行文件:
C:\javawork\lession2>java Lession2
出错信息:
Exception in thread "main" java.lang.NoSuchMethodError: main

解决方法:把Main 修改成main

4.java是聚合式语言,java中一行可以分行写

//FileName Lession2.java
class Lession2{
 public 
 static 
 void 
 main(String[] args){
 }
}

 

5.java代码分为2大类:一、结构语句(Lession2的定义)二、执行具体功能语句(System的输出)。java中的功能执行语句必须是用';'结束的,它也可以分行写

//FileName Lession2.java
class Lession2{
 public  static  void main(String[] args){
  System.out.println
  ("hello world");
 }
}
6.java 可以在单词之间用tab、空格、\n、+等分割,但是不可以分割单词如:
//FileName Lession2.java
class Lession2{
 public  static  void ma
 in(String[] args){
  System.out.println("hello world");
 }
}

 
7.java中的注释
一、//  单行注释
二、/*  */ 多行注释
三、/** */ javadoc注释

//FileName Lession2.java
class Lession2{
 //
 /*

 */
 /**

 */
 /*public static  void main(String[] args){
  /*System.out.println("hello world");*/
 }
 */
}

 
/**/之间可以嵌套//但是不可以嵌套/**/和/** */
8.java中的标识符
java中的包、类、方法、参数和变量的名字,可由任意顺序的大小写字母、数字、下划线(_)和美元符号($)组成,但标识符不能以数字开头,不能是关键字。
9.java中的关键字

10.java中的常量
一、整型常量 十进制(12),十六进制(0x12), 八进制(012)
二、长整型常量 13L
三、单精度浮点数  5.1f,4f,2e3f,0f    有f在内存中占4个字节
四、 双精度浮点数 5.1,4,2e3,0d
五、布尔常量 true和false
六、字符常量 'a','8','\u0027'
‘\r‘表示接受键盘输入,相当于按下了回车键;
‘\n‘是换行;
‘\t‘是制表符,相当于table键;
‘\b‘是退格键,相当于Back Space;
‘\‘‘是单引号,而‘\“‘是双引号;
‘\\‘是一个斜杠“\”。
七、字符串常量   "Hello World","123","Welcome \nXXX"
八、null常量   null常量只有一个值,用null表示,表示对象的引用为空
11.变量就是系统为程序分配的一块内存单元,用来存储各种类型的数据。根据所存储的数据类型的不同,有各种不同类型的变量。变量名代表这块内存的数据。
int x=0,y;
y=x+3;
执行这两条语句的过程中,内存分配及变化情况,x在被取值前必须被初始化。

//FileName Lession2.java
class Lession2{
 public static  void main(String[] args){
  int x,y;
  y = x + 3;
  System.out.println("hello world");
 }

}

 

dos控制台输出:

C:\javawork\lession2>javac Lession2.java
Lession2.java:5: 可能尚未初始化变量 x
                y = x + 3;
                    ^
1 错误

 

解决方法:在定义的时候给x附值

//FileName Lession2.java
class Lession2{
 public static  void main(String[] args){
  int x=0,y;
  y = x + 3;
  System.out.println("hello world");
 }

}

 

12.java的变量类型

13.变量字节大小及有效取值范围
byte占用一个字节,数字大小为-27—27-1
short占用两个字节,数字大小为-215—215-1
int占用四个字节,数字大小为-231—231-1
long占用八个字节,数字大小为-263—263-1
float占用四个字节,数字大小为1.4E-45~3.4E+38 , -1.4E-45~-3.4E+38 。用二进制的指数形式表示一个浮点数的格式,如:101*22  , 101*2-3
double占用八个字节,数字大小为4.9E-324~1.7E+308, -4.9E-324~-1.7E+308 。
char占两个字节,数字大小为0—216-1,是unicode编码。字符的本来面目,我们为什么可以直接将一个数字赋给字符变量。
Boolean占一个字节,其取值只有两个,true和false。

//FileName Lession2.java
class Lession2{
 public static  void main(String[] args){
  /*int x=0,y;
  y = x + 3;
  System.out.println("hello world");*/
  char ch = 97;
  System.out.println(ch);
 }

}

 

println可以打印字符、整数、小数、字符串

//FileName Lession2.java
class Lession2{
 public static  void main(String[] args){
  /*int x=0,y;
  y = x + 3;
  System.out.println("hello world");*/
  char ch = 'x';
  System.out.println(ch);
  byte b = 129;
 }

}

 

dos控制台输出信息:

C:\javawork\lession2>javac Lession2.java
Lession2.java:9: 可能损失精度
找到: int
需要: byte
                byte b = 129;
                         ^
1 错误

 

原因:b是byte类型在内存中占1个字节,129是int类型的在内存中占4个字节

 

//FileName Lession2.java
class Lession2{
 public static  void main(String[] args){
  /*int x=0,y;
  y = x + 3;
  System.out.println("hello world");*/
  char ch = 'x';
  System.out.println(ch);
  //byte b = 129;
  float f = 3.5;
 }

}

 
dos控制台输出信息:

C:\javawork\lession2>javac Lession2.java
Lession2.java:10: 可能损失精度
找到: double
需要: float
                float f = 3.5;
                          ^
1 错误

 

原因:f是float类型在内存中占4个字节,3.5是double类型的在内存中占8个字节

//FileName Lession2.java
class Lession2{
 public static  void main(String[] args){
  /*int x=0,y;
  y = x + 3;
  System.out.println("hello world");*/
  char ch = 'x';
  System.out.println(ch);
  //byte b = 129;
  float f = 3.5f;
 }

}

//FileName Lession2.java
class Lession2{
 public static  void main(String[] args){
  /*int x=0,y;
  y = x + 3;
  System.out.println("hello world");*/
  char ch = 'x';
  System.out.println(ch);
  byte b = 129;
  int i = b;
  float f = 3.5f;
 }

}

 
将int类型变量i附给byte类型变量b ,需要强制类型转换

//FileName Lession2.java
class Lession2{
 public static  void main(String[] args){
  /*int x=0,y;
  y = x + 3;
  System.out.println("hello world");*/
  char ch = 'x';
  System.out.println(ch);
  byte b = 129;
  int i = b;
  b = i;
  float f = 3.5f;
 }

}

 

C:\javawork\lession2>javac Lession2.java
Lession2.java:11: 可能损失精度
找到: int
需要: byte
                b = i;
                    ^
1 错误

 

解决方法:

//FileName Lession2.java
class Lession2{
 public static  void main(String[] args){
  /*int x=0,y;
  y = x + 3;
  System.out.println("hello world");*/
  char ch = 'x';
  System.out.println(ch);
  byte b = 122;
  int i = b;
  b = (byte)i;
  System.out.println(b);
  float f = 3.5f;
 }

}

 

14.java类型转化

//FileName Lession2.java
class Lession2{
 public static  void main(String[] args){
  /*int x=0,y;
  y = x + 3;
  System.out.println("hello world");*/
  /*char ch = 'x';
  System.out.println(ch);
  byte b = 122;
  int i = b;
  b = (byte)i;
  System.out.println(b);
  float f = 3.5f;*/
  byte b = 3;
  b = b - 1;
 }

}

 

dos控制台错误信息:

C:\javawork\lession2>javac Lession2.java
Lession2.java:15: 可能损失精度
找到: int
需要: byte
  b = b - 1;
        ^
1 错误

 

 

自动类型转换(也叫隐式类型转换) 
强制类型转换(也叫显式类型转换)
类型转换的原理
    及什么时候要用
    强制类型转换
表达式的数据类型自动提升
所有的byte型、short型和char的值将被提升到int型。
如果一个操作数是long型,计算结果就是long型;
如果一个操作数是float型,计算结果就是float型;
如果一个操作数是double型,计算结果就是double型。
分析 System.out.println(‘a’+1)与   System.out.println(“”+’a’+1) 的区别。
System.out.println(‘a’+1) 输出98 因为:'a' 会提升为int类型
System.out.println(“”+’a’+1) 输出a1 因为:前面是"" 这样会生成一个新的字符串输出

15.java中变量的生命周期和作用域

//FileName Lession2.java
class Lession2{
 public static  void main(String[] args){
  {
   int x = 3;
   System.out.println(x);
  }
  //System.out.println(x);
  System.out.println("" + 'a' + 1);
 }

}

 

//FileName Lession2.java
class Lession2{
 public static  void main(String[] args){
  {
   int x = 3;
   System.out.println(x);
  }
  System.out.println(x);
  System.out.println("" + 'a' + 1);
 }

}

 
dos控制台输出信息:

C:\javawork\lession2>javac Lession2.java
Lession2.java:22: 找不到符号
符号: 变量 x
位置: 类 Lession2
                System.out.println(x);
                                   ^
1 错误

 

解决方法:

//FileName Lession2.java
class Lession2{
 public static  void main(String[] args){
  int x = 9;//java中不允许这种嵌套定义
  {
   int x = 3;//java中不允许这种嵌套定义
   System.out.println(x);
  }
  System.out.println(x);
  System.out.println("" + 'a' + 1);
 }

}

 

//FileName Lession2.java
class Lession2{
 public static  void main(String[] args){
  int x = 9;
  {
   System.out.println(x);
   x = 3;
   System.out.println(x);
  }
  System.out.println(x);
  System.out.println("" + 'a' + 1);

 }
  
}

 
16.java中的函数
返回值类型 函数名 (参数类型 形式参数1,参数类型 形式参数2,...)

  程序代码
  return 返回值;

其中:
形式参数:在方法被调用时用于接收外部传入的数据的变量。
参数类型:就是该形式参数的数据类型。
返回值:方法在执行完毕后返还给调用它的程序的数据。
返回值类型:函数要返回的结果的数据类型。
实参:调用函数时实际传给函数形式参数的数据。

编写打印三个矩形的程序,流水帐的代码

//FileName Lession2.java
class Lession2{
 public static  void main(String[] args){
  for (int i = 0;i <3;i++){
   for (int j = 0;j <5;j++){
    System.out.print("*");
   }
   System.out.println();
  }
  for (int i = 0;i <2;i++){
   for (int j = 0;j <4;j++){
    System.out.print("*");
   }
   System.out.println();
  }
  for (int i = 0;i <6;i++){
   for (int j = 0;j <10;j++){
    System.out.print("*");
   }
   System.out.println();
  }

 }

}

 
编写打印三个矩形的程序,函数的代码

//FileName Lession2.java
class Lession2{
 public static  void main(String[] args){
  drawRectangle(3,5);
  drawRectangle(2,4);
  drawRectangle(6,10);
  

 }
  static void drawRectangle(int x,int y){
   if (x <= 0 || y<=0)
    return;
   for (int i = 0;i < x;i++){
    for (int j = 0;j < y;j++){
     System.out.print("*");
    }
    System.out.println();
   }
  }

}

 
如何理解函数返回值类型为void的情况
void不知道或不需要返回值类型的方法

//FileName Lession2.java
class Lession2{
 public static  void main(String[] args){
  drawRectangle(3,5);
  drawRectangle(2,4);
  drawRectangle(6,10);
  int area = getArea(3,5);
  System.out.println("3 * 5的面积=" + area);
  System.out.println("2 * 4的面积=" + getArea(2,4));
  getArea(6,10);

 }
  static int getArea(int x,int y){
   /*int sum = x * y;
      return sum;*/
   return x * y;
  }
  static void drawRectangle(int x,int y){
   if (x<=0 || y<=0)
    return;
   for (int i = 0;i < x;i++){
    for (int j = 0;j < y;j++){
     System.out.print("*");
    }
    System.out.println();
   }
  }

}

 

  • 大小: 138 KB
  • 大小: 21.3 KB
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics