码迷,mamicode.com
首页 > 编程语言 > 详细

Java——Java杂谈

时间:2015-06-08 16:50:03      阅读:117      评论:0      收藏:0      [点我收藏+]

标签:

short s1=1;s1=s1+1有什么错?short s1=1;s1+=1;有什么错?

  第一个是有错的,short在内存中占2个字节,而整数1默认为int型占4个字
节,s1+1其实这个时候就向上转型为int类型了,因此第一行代码必须强转才行
。第二个之所以可以是以为这句话翻译过来就是s1++,也就是short类型的数据
自身加增1,因此不会有问题。
 
Java没有sizeof
  Java不需要sizeof()操作符来满足这方面的需要,因为所有数据类型在所有
机器中的大小都是相同的。我们不必考虑移植问题——它已经被设计在语言中了。
 
Foreach语法
  Java SE5引入了一种新的更加简洁的for语法用于数组和容器,即Foreach
语法,表示不必创建int变量去对由访问构成的序列进行计数,Foreach将自动产
生每一项。
  例如,假设有一个float数组,我们要选取该数组中的每一个元素:
 1 import java.util.Random;
 2 
 3 public class ForEachFloat {
 4     public static void main(String[] args) {
 5         Random rand = new Random(47);
 6         float f[] = new float[10];
 7         for(int i = 0; i < 10; i++) {
 8             f[i] = rand.nextFloat();
 9         }
10         for(float x : f) {
11             System.out.println(x);
12         }
13     }
14 }

 

 

 

  这个数组是用旧式的for循环组装的,因为在组装时必须按索引访问它,在下
面这行中可以看到Foreach语法:
  for(float x : f) {
  这条语句定义了一个float类型的变量x,继而将每一个f的元素赋值给x。
ps:除非创建一个数组,否则Foreach语法将不起作用。
 
在构造器中调用构造器
1.不能在同一构造器中调用两个;
2.必须将构造器调用置于最起始处;
3.不能在构造器之外的任何方法中调用构造器。
例如:
 1 public class Flower {
 2     int petalCount = 0;
 3     String s = "initial value";
 4     
 5     Flower(int perals) {
 6         petalCount = perals;
 7         System.out.println("Constructor w/ int arg only, petalCount= " + petalCount);
 8     }
 9 
10     Flower(String ss) {
11         System.out.println("Constructor w/ int arg only, s= " + ss);
12         s = ss;
13     }
14 
15     Flower(String s, int petals) {
16         this(petals);
17 //!    this(s); //不能调用两个!
18         this.s = s;
19         System.out.println("String & int args");
20     }
21 
22     Flower(){
23         this("hi", 45);
24         System.out.println("default constructor (no args)");
25     }
26 
27     void printPetalCount() {
28 //!    this(11); //不能在构造器之外的任何方法中调用构造器
29         System.out.println("petalCount = " + petalCount + " s = " + s);
30     }
31 
32     public static void main(String[] args) {
33         Flower x = new Flower();
34         x.printPetalCount();
35     }
36 }

 

 

 

 

Java——Java杂谈

标签:

原文地址:http://www.cnblogs.com/xiongxuesong/p/4559981.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!