From c56d9885a51f981b4d2164f16b326506d48ad50f Mon Sep 17 00:00:00 2001 From: valoka Date: Wed, 24 Sep 2025 01:22:00 +0900 Subject: [PATCH] re-init commit --- Hello.java | 9 +++++++ NewClass.java | 37 +++++++++++++++++++++++++ TestElements.java | 51 +++++++++++++++++++++++++++++++++++ TestMeth.java | 63 +++++++++++++++++++++++++++++++++++++++++++ TestModificators.java | 26 ++++++++++++++++++ VarTypes.java | 22 +++++++++++++++ 6 files changed, 208 insertions(+) create mode 100644 Hello.java create mode 100644 NewClass.java create mode 100644 TestElements.java create mode 100644 TestMeth.java create mode 100644 TestModificators.java create mode 100644 VarTypes.java diff --git a/Hello.java b/Hello.java new file mode 100644 index 0000000..85bf220 --- /dev/null +++ b/Hello.java @@ -0,0 +1,9 @@ +/*-------------------- Пример 1. Файл Hello.java ------------------*/ +import java.util.*; +public class Hello { + public static void main(String args[]) { + System.out.println("Hello, world"); + Date d=new Date(); + System.out.println("Date:"+d.toString()); +} +} /*---------------------------------------------------------------*/ \ No newline at end of file diff --git a/NewClass.java b/NewClass.java new file mode 100644 index 0000000..5923e63 --- /dev/null +++ b/NewClass.java @@ -0,0 +1,37 @@ + +import java.util.*; +/*------------- Пример 3. Файл NewClass.java -------------*/ +/*------------- 3.1. Объявление нового типа -------------*/ +public class NewClass // первичный класс +{ +static class MyType // объявляется класс +{ public int myData=5; // переменная-элемент класса +public void myMethod() // метод класса +{ // печать в методе +System.out.print("myMethod!"); +System.out.println(" myData="+myData); +} +MyType() // конструктор без параметров +{ // печать в конструкторе +System.out.println("Constructor without parameters"); +} +MyType(int v) // конструктор с одним параметром +{ // печать в конструкторе +System.out.print("Constructor with one parameter"); +System.out.println(" Setting myData="+v); +myData=v; +} +} +/*------------- 3.2. Реализация объектов и действия с ними -------------*/ + public static void main(String args[]) +{ // объект obj1 - реализация класса MyType +MyType obj1=new MyType(); +obj1.myMethod(); // использование метода +// доступ к открытой переменной +System.out.println("---------obj1.myData="+obj1.myData); +// объект obj2 - реализация класса MyType +MyType obj2=new MyType(100); +// доступ к открытой переменной +System.out.println("---------obj2.myData="+obj2.myData); +} +} /*----------------------------------------------------------------*/ diff --git a/TestElements.java b/TestElements.java new file mode 100644 index 0000000..2126321 --- /dev/null +++ b/TestElements.java @@ -0,0 +1,51 @@ +/*------------- Пример 5. Файл TestElements.java -------------*/ + +class TestElements +{ public static void main(String args[]) +{ int ii,jj; +// для использования элементов класса объект необязателен +// использование статической переменной +StaticAndDynamic.j=6; jj=StaticAndDynamic.j; +System.out.println("Main, jj="+jj); +// вызов статических методов +StaticAndDynamic.setJ(4); jj=StaticAndDynamic.getJ(); +System.out.println("Main, jj="+jj); +// перед использованием элементов экземпляра +// требуется реализовать объект (экземпляр) +StaticAndDynamic obj=new StaticAndDynamic(); +// использование динамической переменной +obj.i=3; ii=obj.i; +System.out.println("Main, ii="+ii); +// вызов динамическим методов +obj.setI(8); ii=obj.getI(); +System.out.println("Main, ii="+ii); +// вызов метода, в котором используются +// динамическая и статическая переменные +ii=obj.summa(); +System.out.println("Main, summa="+ii); +} +} /*----------------------------------------------------------------------*/ + +class StaticAndDynamic +{ int i=0; // переменная экземпляра +static int j=0; // переменная класса +// статические методы +static void setJ(int k) +{ System.out.println("Static Method"); j=k; +} +static int getJ() +{ System.out.println("Static Method"); return j; +} +// динамические методы +void setI(int k) +{ System.out.println("Dynamic Method"); i=k; +} +int getI() +{ System.out.println("Dynamic Method"); return i; +} +int summa() +{ // в динамических методах можно +// использовать статические переменные +System.out.println("Dynamic Method"); return i+j; +} +} \ No newline at end of file diff --git a/TestMeth.java b/TestMeth.java new file mode 100644 index 0000000..269108a --- /dev/null +++ b/TestMeth.java @@ -0,0 +1,63 @@ + +class TestMethods +{ + static int v=0; + // функция, не возвращающая значение + static void setV(int i) + { v=i; + System.out.println("Void method!"); + } +// фунция с возвращаемым значением + static int getV() + { System.out.println("Returning method!"); + return v; + } +// функция для проверки работы с параметрами + static int func(int a, int b[]) + { a=a+1; + b[0]=b[0]+1; + System.out.println("a="+a+" b[0]"+b[0]); // a=2 b=2 + return a; // return 2 + } +// сравнение двух целых + static String compare(int i,int j) + { if(i==j) return ""+i+" and "+j+" are equal"; + else + if(i>j) return ""+i+" greater than "+j; + else return ""+j+" greater than "+i; + } +// совмещение метода с другим числом параметров + static String compare(int i,int j,int k) + { String S=""; + S=S+compare(i,j)+'\n'; + S=S+compare(i,k)+'\n'; + S=S+compare(j,k); + return S; + } +// совмещение метода с параметрами другого типа + static String compare(double i,double j) + { if(i==j) return ""+i+" and "+j+" are equal"; + else + if(i>j) return ""+i+" greater than "+j; + else return ""+j+" greater than "+i; + } +// главный метод - точка входа + public static void main(String args[]) + { // вызов метода, не возвращающего значения + setV(5); + // вызов метода, возвращающего значение + int vv=getV(); + // передача параметров: примитивные и ссылочные типы + int A; int B[]=new int[1]; + A=1; B[0]=1; + System.out.println("A="+A+" B[0]="+B[0]); // A=1 B[0]=1 + int aa=func(A,B); + System.out.println("aa="+aa); + System.out.println("A="+A+" B[0]="+B[0]); // A=1 B[0]=2 + // вызов совмещенных методов + String S; + S=compare(2,5); System.out.println(S); + S=compare(3,1,6); System.out.println(S); + S=compare(1.5,2.1); System.out.println(S); + } +} /*----------------------------------------------------------------------*/ diff --git a/TestModificators.java b/TestModificators.java new file mode 100644 index 0000000..0d4942d --- /dev/null +++ b/TestModificators.java @@ -0,0 +1,26 @@ +/*------------- Пример 6. Файл TestModificators.java -------------*/ + +class TestModificators +{ public static void main(String args[]) +{ A obj=new A(); // создание объекта класса A +// получить значение переменных +int kk=obj.k; System.out.println("k="+kk); +int nn=obj.getN(); System.out.println("n="+nn); +// установить значения переменных и +// вызвать метод, использующий +//закрытую и открытую переменные +obj.k=10; obj.setN(15); +int s=obj.summa(); System.out.println("summa="+s); +} +} + +class A +{ public int k; // тип public - - доступ и в теле класса и по объекту класса +private int n; // тип private - доступ только в теле класса +A() { k=2; n=11; } // конструктор, инициализация переменных-элементов +int summa() { return k+n; } // метод класса, использующий обе переменные +// методы для доступа к защищенному элементу n класса A +// по объекту класса A вне тела класса A +public int getN() { return n; } +public void setN(int nn) { n=nn; } +} \ No newline at end of file diff --git a/VarTypes.java b/VarTypes.java new file mode 100644 index 0000000..bae8b5a --- /dev/null +++ b/VarTypes.java @@ -0,0 +1,22 @@ +/*------------- Пример 2. Файл VarTypes.java -------------*/ +class VarTypes +{ public static void main(String args[]) +{ +// переменная примитивного типа +int varPrimitive; +// сразу после объявления можно в нее записывать данные +varPrimitive=1; +// переменная ссылочного типа +int varReference[]; // или: int[] varReference; +// выделение памяти для переменной этого типа +varReference=new int[3]; +// теперь можно сохранять данные в переменной этого типа +varReference[0]=2; +varReference[1]=3; +varReference[2]=4; +System.out.println("varPrimitive="+varPrimitive); +System.out.println("varReference[0]="+varReference[0]); +System.out.println("varReference[1]="+varReference[1]); +System.out.println("varReference[2]="+varReference[2]); +} +} /*--------------------------------------------------------------*/