Exercise 3-1 (Default initialization in C and Java)

Chapter_3     Scope Shadow     Exercise_3-2







Exercise 3-1     TIJ, p. 61


Exercise 3-1: (2) Create a class containing an int and a char that are not initialized, and print their values to verify that Java performs default initialization.
(2) refers to the difficulty, on a scale from 1 to 10     TIJ, p. 60




CONTENTS:     uninit.c     UnInit.java




uninit.c


#include <stdio.h>

// uninitialized vars
int main()
{
int i;
char c;

printf("uninitialized int: %d\n", i);
printf("uninitialized char: %d\n", c);
}
/*
gcc uninit.c -o uninit
./uninit
uninitialized int: 0
uninitialized char: 0
*/











UnInit.java


public class UnInit // uninitialized
{
static int i; // uninitialized fields are set to 0
static char c; // or null

int ii;
char cc;

public static void main(String[] args)
{
// int i; // uninitialized local vars
// char c; // (compile errors)

// access static fields in a static context, main():
System.out.println("uninitialized static int: " + i);
System.out.println("uninitialized static char: " + c);

UnInit uninit = new UnInit();
System.out.println("uninitialized int field: " + uninit.ii);
System.out.println("uninitialized char field: " + new UnInit().cc);
}
}
/*
javac UnInit.java
java UnInit
uninitialized static int: 0
uninitialized static char: // null
uninitialized int field: 0
uninitialized char field: // null
*/









Chapter_3     Scope BACK_TO_TOP Shadow     Exercise_3-2



Comments

Popular posts from this blog

Contents