目录
01th_hello
hello.c
c
#include <stdio.h>
int main(int argc, char **argv)
{
printf("Hello, world!\n");
return 0;
}
Hello.java
java
public class Hello {
public static void main(String args[]) {
System.out.println("Hello, world!");
}
}
02th_hello
hello.c
c
#include <stdio.h>
int main(int argc, char **argv)
{
int i = 0;
for (i = 0; i < 3; i++)
printf("Hello, world!\n");
return 0;
}
Hello.java
java
public class Hello {
public static void main(String args[]) {
int i = 0;
for (i = 0; i < 3; i++) {
System.out.println("Hello, world!");
}
}
}
03th_var
var.c
c
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char **argv)
{
int a = 3;
float f = 3.14;
int* p = malloc(10*sizeof(int));
char str[100];
free(p);
return 0;
}
Var.java
java
public class Var {
public static void main(String args[]) {
int a = 3;
float f = (float)3.14;
float f2 = 3.14f;
int i = 4;
short s = 4;
short s2 = (short)40000;
//s = i;
s = (short)(s + 1);
s = (short)(s + s2);
/* Java has no pointer */
//int* p = malloc(10*sizeof(int));
int p[] = new int[10];
int p2[] = {1,2,4}; /* static alloc */
//char str[100];
char str[] = new char[100];
//char str2[] = "abc";
String str2 = "abc";
p = null;
p2 = null;
str = null;
str2 = null;
}
}
04th_function
Function.java
java
public class Function {
public static void main(String args[]) {
System.out.println(add(1,2));
System.out.println(add(1,2, 3));
System.out.println(add(1.0f, 2.0f));
}
public static int add (int x, int y) {
return x + y;
}
public static int add (int x, int y, int z) {
return x + y + z;
}
public static float add (float x, float y) {
return x + y;
}
}
05th_param
Param.java
java
public class Param {
public static void main(String args[]) {
int x = 1;
fun (x);
int p[] = new int[1];
p[0] = 123;
System.out.println("Before fun2: "+p[0]);
fun2(p);
System.out.println("After fun2: "+p[0]);
System.out.println(x);
}
public static void fun(int x) {
x = 100;
}
public static void fun2(int[] p) {
p[0] = 200;
}
}
06th_oop
person.c
c
#include <stdio.h>
int main(void)
{
char *name1 = "zhangsan";
char *name2 = "lisi";
printf("guangdogn %s\n", name1);
printf("guangdogn %s\n", name2);
return 0;
}
person2.c
c
#include <stdio.h>
struct person {
char *name;
};
int main(void)
{
struct person p1 = {"zhangsan"};
struct person p2 = {"lisi"};
printf("%s\n", p1.name);
printf("%s\n", p2.name);
return 0;
}
person3.c
c
#include <stdio.h>
struct person {
char *name;
void (*printName)(struct person *per);
};
void printName(struct person *per)
{
printf("guangdong %s\n", per->name);
}
int main(void)
{
struct person p1 = {"zhangsan", printName};
struct person p2 = {"lisi", printName};
//printf("%s\n", p1.name);
//printf("%s\n", p2.name);
p1.printName(&p1);
p2.printName(&p2);
return 0;
}
Oop.java
java
class Person {
String name;
String getName() {
return "guangdong "+name;
}
};
public class Oop {
public static void main(String args[]) {
Person p1 = new Person();
p1.name = "zhangsan";
Person p2 = new Person();
p2.name = "lisi";
System.out.println(p1.getName());
System.out.println(p2.getName());
}
}
Oop2.java
java
class Person {
String name;
String getName() {
return "guangdong "+name;
}
/* construct function */
public Person (String n) {
name = n;
}
};
public class Oop2 {
public static void main(String args[]) {
Person p1 = new Person("zhangsan");
Person p2 = new Person("lisi");
System.out.println(p1.getName());
System.out.println(p2.getName());
}
}
Oop3.java
java
class Person {
String name;
int age;
String getName() {
return "guangdong "+name;
}
/* construct method */
public Person () {
name = "null";
age = 0;
}
public Person (String name) {
this.name = name;
}
public Person (String name, int age) {
this.name = name;
this.age = age;
}
};
public class Oop3 {
public static void main(String args[]) {
Person p1 = new Person("zhangsan");
Person p2 = new Person("lisi");
Person p3 = new Person();
Person p4 = new Person("wangwu", 6);
System.out.println(p1.getName());
System.out.println(p2.getName());
System.out.println(p3.getName());
System.out.println(p4.getName());
}
}
Oop4.java
java
class Person {
static int count;
String name;
int age;
String getName() {
return "guangdong "+name;
}
/* construct method */
public Person () {
count++;
name = "null";
age = 0;
}
public Person (String name) {
count++;
this.name = name;
}
public Person (String name, int age) {
count++;
this.name = name;
this.age = age;
}
static void printPerson () {
System.out.println("This is a class of Person");
}
};
public class Oop4 {
public static void main(String args[]) {
Person p1 = new Person("zhangsan");
Person p2 = new Person("lisi");
Person p3 = new Person();
Person p4 = new Person("wangwu", 6);
System.out.println(p1.getName());
System.out.println(p2.getName());
System.out.println(p3.getName());
System.out.println(p4.getName());
Person.printPerson();
System.out.println(Person.count);
}
}
Oop5.java
java
class Person {
static int count;
String name;
int age;
String getName() {
return "guangdong "+name;
}
static {
System.out.println("static block");
}
{
System.out.println("construct block");
count ++;
}
/* construct method */
public Person () {
System.out.println("construct method: Person 1");
name = "null";
age = 0;
}
public Person (String name) {
System.out.println("construct method: Person 2");
this.name = name;
}
public Person (String name, int age) {
System.out.println("construct method: Person 3");
this.name = name;
this.age = age;
}
static void printPerson () {
System.out.println("This is a class of Person");
}
};
public class Oop5 {
public static void main(String args[]) {
Person p1 = new Person("zhangsan");
Person p2 = new Person("lisi");
Person p3 = new Person();
Person p4 = new Person("wangwu", 6);
System.out.println(p1.getName());
System.out.println(p2.getName());
System.out.println(p3.getName());
System.out.println(p4.getName());
Person.printPerson();
System.out.println(Person.count);
}
}
07th_Enc
java
class Person {
private int age;
public void setAge(int age) {
if (age < 0 || age > 200)
age = 0;
else {
this.age = age;
}
}
public int getAge() {
return age;
}
}
public class Enc {
public static void main(String args[]) {
Person per = new Person();
//per.age = -1;
per.setAge(-1);
System.out.println(per.getAge());
}
}
08th_extends
Ext.java
java
class Person {
private int age;
public void setAge(int age) {
if (age < 0 || age > 200)
age = 0;
else {
this.age = age;
}
}
public int getAge() {
return age;
}
}
class Student extends Person{
}
public class Ext {
public static void main (String args[]) {
Student stu = new Student();
stu.setAge(10);
System.out.println(stu.getAge());
}
}
Ext2.java
java
class Person {
private int age;
public void setAge(int age) {
if (age < 0 || age > 200)
age = 0;
else {
this.age = age;
}
}
public int getAge() {
return age;
}
}
class Student extends Person{
private String school;
public void setSchool(String school) {
this.school = school;
}
public String getSchool() {
return school;
}
public Student(String school) {
this.school = school;
}
}
public class Ext2 {
public static void main (String args[]) {
Student stu = new Student("ustc");
stu.setAge(10);
System.out.println(stu.getAge());
System.out.println(stu.getSchool());
}
}
Ext3.java
java
class Person {
private int age;
public void setAge(int age) {
if (age < 0 || age > 200)
age = 0;
else {
this.age = age;
}
}
public int getAge() {
return age;
}
public void printInfo() {
System.out.println("age = "+age);
}
}
class Student extends Person{
private String school;
public void setSchool(String school) {
this.school = school;
}
public String getSchool() {
return school;
}
public Student(String school) {
this.school = school;
}
/* override */
public void printInfo() {
System.out.println("school = "+school+"; age = "+getAge());
}
}
public class Ext3 {
public static void main (String args[]) {
Student stu = new Student("ustc");
stu.setAge(10);
System.out.println(stu.getAge());
System.out.println(stu.getSchool());
stu.printInfo();
}
}
Ext4.java
java
class Person {
private int age;
public void setAge(int age) {
if (age < 0 || age > 200)
age = 0;
else {
this.age = age;
}
}
public int getAge() {
return age;
}
public void printInfo() {
System.out.println("age = "+age);
}
public Person () {System.out.println("Person ()");}
public Person (int age) {
System.out.println("Person (int age)");
this.age = age;
}
}
class Student extends Person{
private String school;
public void setSchool(String school) {
this.school = school;
}
public String getSchool() {
return school;
}
public Student(String school) {
/* will call the super() */
//super();
super(5);
System.out.println("Student(String school)");
this.school = school;
}
/* override */
public void printInfo() {
System.out.println("school = "+school+"; age = "+getAge());
}
}
public class Ext4 {
public static void main (String args[]) {
Student stu = new Student("ustc");
//stu.setAge(10);
System.out.println(stu.getAge());
System.out.println(stu.getSchool());
stu.printInfo();
}
}
Ext5.java
java
class Father {
private int money;
public int getMoney() {return money; }
public void setMoney(int money) {this.money = money; }
public void printInfo() {System.out.println("This is Father");}
private void printInfo2() {System.out.println("This is Father");}
}
class Son extends Father{
public void printInfo() {System.out.println("This is son");}
public void printInfo2() {System.out.println("This is Father");}
}
public class Ext5 {
public static void main (String args[]) {
Son son = new Son();
son.setMoney(100);
//son.printInfo();
}
}
Ext6.java
java
abstract class Father {
private int money;
public int getMoney() {return money; }
public void setMoney(int money) {this.money = money; }
public abstract void study();
}
class Son extends Father{
public void study() {System.out.println("I am study"); }
}
public class Ext6 {
public static void main (String args[]) {
//Father f = new Father();
Son son = new Son();
son.study();
}
}
Ext7.java
java
abstract class Father {
private int money;
public int getMoney() {return money; }
public void setMoney(int money) {this.money = money; }
public abstract void study();
}
interface A {
public static final int i = 10;
public abstract int getNum();
}
interface B {
public static String name = "InterfaceB";
public abstract String getName();
}
class Son extends Father implements A,B{
public int getNum() {return i;}
public String getName() {return name;}
public void study() {System.out.println("I am study"); }
}
public class Ext7 {
public static void main (String args[]) {
Son son = new Son();
System.out.println(son.getName());
son.study();
}
}
09th_cnv
Cnv.java
java
class Father {
private int money;
public int getMoney() {return money; }
public void setMoney(int money) {this.money = money; }
public void printInfo() {System.out.println("This is Father");}
}
class Son extends Father{
public void printInfo() {System.out.println("This is son");}
public void playGame() {System.out.println("playGame ...");}
}
class Daughter extends Father{
public void printInfo() {System.out.println("This is daughter");}
}
public class Cnv {
public static void main (String args[]) {
Son son = new Son();
Daughter daughter = new Daughter();
Father f = son; /* */
f.printInfo();
//f.playGame();
f = daughter;
f.printInfo();
}
}
Cnv2.java
java
class Father {
private int money;
public int getMoney() {return money; }
public void setMoney(int money) {this.money = money; }
public void printInfo() {System.out.println("This is Father");}
}
class Son extends Father{
public void printInfo() {System.out.println("This is son");}
public void playGame() {System.out.println("playGame ...");}
}
class Daughter extends Father{
public void printInfo() {System.out.println("This is daughter");}
}
public class Cnv2 {
public static void main (String args[]) {
Father f = new Son();
Son son = (Son)f; /* Son son = new Son(); */
}
}
Cnv3.java
java
class Father {
private int money;
public int getMoney() {return money; }
public void setMoney(int money) {this.money = money; }
public void printInfo() {System.out.println("This is Father");}
}
class Son extends Father{
public void printInfo() {System.out.println("This is son");}
public void playGame() {System.out.println("playGame ...");}
}
class Daughter extends Father{
public void printInfo() {System.out.println("This is daughter");}
}
public class Cnv3 {
public static void main (String args[]) {
Father f = new Father();
Son s = new Son();
Daughter d = new Daughter();
print(f);
print(s);
print(d);
}
public static void print(Father f) {
f.printInfo();
}
public static void print(Son s) {
s.printInfo();
}
public static void print(Daughter d) {
d.printInfo();
}
}
Cnv4.java
java
class Father {
private int money;
public int getMoney() {return money; }
public void setMoney(int money) {this.money = money; }
public void printInfo() {System.out.println("This is Father");}
}
class Son extends Father{
public void printInfo() {System.out.println("This is son");}
public void playGame() {System.out.println("playGame ...");}
}
class Daughter extends Father{
public void printInfo() {System.out.println("This is daughter");}
}
public class Cnv4 {
public static void main (String args[]) {
Father f = new Father();
Son s = new Son();
Daughter d = new Daughter();
print(f);
print(s);
print(d);
}
public static void print(Father f) {
f.printInfo();
}
}
Cnv5.java
java
class Father {
private int money;
public int getMoney() {return money; }
public void setMoney(int money) {this.money = money; }
public void printInfo() {System.out.println("This is Father");}
public void drink() {System.out.println("drink ...");}
}
class Son extends Father{
public void printInfo() {System.out.println("This is son");}
public void playGame() {System.out.println("playGame ...");}
}
class Daughter extends Father{
public void printInfo() {System.out.println("This is daughter");}
public void dance() {System.out.println("dance ...");}
}
public class Cnv5 {
public static void main (String args[]) {
Father f = new Father();
Son s = new Son();
Daughter d = new Daughter();
printAction(f);
printAction(s);
printAction(d);
}
public static void printAction(Father f) {
if (f instanceof Son) {
Son son = (Son)f;
son.playGame();
}
else if (f instanceof Daughter) {
Daughter d = (Daughter)f;
d.dance();
}
else if (f instanceof Father) {
f.drink();
}
}
}