Java 2013-02-08

Материал из SEWiki
Перейти к: навигация, поиск

Краткое содержание

На лекции было рассказано следующее:

  1. Программа "Привет, Мир"
  2. Необходимые средства для запуска программы на Java (JDK, JRE)
  3. Версии Java (ME, SE, EE).
  4. Развитие языка Java (1.0 -> 1.7)
  5. Как происходит запуск приложения написанного на Java
  6. CLASSPATH
  7. Кодовые соглашения
  8. if, for, foreach
  9. Работа с массивами и строками (базовый уровень)
  10. Наследование
  11. Хранение информации в памяти виртуальной машины (базовый-базовый уровень)
  12. Работа с исключениями (базовый уровень)
  13. Пакеты (базовый уровень)

Примеры с лекции

1. Привет, Мир!

//HelloWorld.java

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

2. Привет, Человек!

//HelloWorld.java

public class HelloWorld {
	public static void main(String[] args) {
		if (args.length > 0) {
			System.out.println("Hello World, " + args[0] + "!");
		} else {
			System.out.println("Error");			
		}
	}
}

3. Привет, люди!

//HelloWorld.java

public class HelloWorld {
	public static void main(String[] args) {
		for (int i = 0; i < args.length; i++) {
			System.out.println("Hello World, " + args[i] + "!");
		}
	}
}

4. Привет, люди-2!

//HelloWorld.java

public class HelloWorld {
	public static void main(String[] args) {
		for (String str : args) {
			System.out.println("Hello World, " + str + "!");
		}
	}
}

5. Исключения

//ExceptionTest.java

class MyException extends Exception {
		public MyException(String msg) {
			super(msg);			
		}
}

public class ExeptionTest {
	public void foo() throws MyException {
		System.out.println("Testing exceptions...");
		throw new MyException("Kernel panic!!!");
	}
	
	public static void main(String[] args) {
		try {
			ExeptionTest t = new ExeptionTest();
			t.foo();
		} catch (MyException e) {
			e.printStackTrace(System.err);
		}
	}

}

6. Калькулятор

//Parser.java

package ru.spbau.kuznetsov.test01.parser;

public class Parser {
	public int parse (String str) {
		int result = 0;
		for (int i = 0; i < str.length(); i++) {
			result = result*10 + str.charAt(i)-'0';			
		}
		return result;		
	}

}
//AdvancedParser.java

package ru.spbau.kuznetsov.test01.parser;

public class AdvancedParser extends Parser {
	private int num;
	
	public AdvancedParser (int num) {
		this.num = num;
	}
	public int parse (String str) {
		int result = super.parse(str);
		return result*num;
	}
}
//ParserTest.java

package ru.spbau.kuznetsov.test01;

//import ru.spbau.kuznetsov.test01.parser.*;
import ru.spbau.kuznetsov.test01.parser.Parser;
import ru.spbau.kuznetsov.test01.parser.AdvancedParser;


public class ParserTest {
	public static void main(String[] args) {
		//ru.spbau.kuznetsov.test01.parser.Parser p = new ru.spbau.kuznetsov.test01.parser.AdvancedParser(3);
		Parser p = new AdvancedParser(3);
		for (int i = 0; i < args.length; i++) {
			//System.out.println(p.parse(args[i])+1);
			System.out.printf("%d\n", p.parse(args[i])+1);
		}
	}

}