본문 바로가기
스프링

Spring 1주차-자바 기초문법

by Rudy 2021. 7. 6.

시작하기 전에, 한글을 intellij에서 한 번이상이라도 사용한다면 인코딩 방법을 UTF-8로 바꿔둬야 한다. 자세한 방법은 구글링을 참조했다.

 

1. 기본적인 출력

package com.day1.week01.prac;

public class Prac {
    public static void main(String[] args) {
        System.out.println("안녕, 고양이!");
    }
}

 

시작하기 전에, 한글을 intellij에서 한 번이상이라도 사용한다면 인코딩 방법을 UTF-8로 바꿔둬야 한다. 자세한 방법은 구글링을 참조했다.

 

2. 변수 출력

 

package com.day1.week01.prac;

import java.sql.SQLOutput;

public class Prac {
    public static void main(String[] args) {
        int a=10;
        int b=3;
        System.out.println(a+b);
        float c= 3.7f;
        System.out.println(a+c);
        Long d=1000000000L;
        System.out.println(a+d);
    }
}

 

3. 문자열 출력

 

package com.day1.week01.prac;

import java.sql.SQLOutput;

public class Prac {
    public static void main(String[] args) {
    String myName="Ritsu";
    String myName2="Sena";
    String myName3="Reo";
    System.out.println(myName);
    System.out.println(myName+myName2);
    System.out.println(myName+" "+myName2);
    System.out.println(myName2+myName3);
    }
}

4. boolean (참, 거짓 연산)

 

package com.day1.week01.prac;

import java.sql.SQLOutput;

public class Prac {
    public static void main(String[] args) {
        int myAge=20;
        boolean isAdult=myAge>20;
        boolean isKid=myAge<=20;
        System.out.println(isAdult);
        System.out.println(isKid);
        boolean isTest=false;
        System.out.println(myAge==20); //true
        System.out.println(myAge!=20); //false
    }
}

 

5. List

 

package com.day1.week01.prac;

import java.sql.SQLOutput;
import java.util.List;
import java.util.ArrayList;

public class Prac {
    public static void main(String[] args) {
        List<String> myList = new ArrayList<>();
        String course1="봄은 spring";
        String course2="여름은 summer";
        myList.add(course1);
        myList.add(course2);
        System.out.println(myList);
        System.out.println(myList.get(1));
        myList.remove(1);
        System.out.println(myList);
    }
}
package com.day1.week01.prac;

import java.sql.SQLOutput;
import java.util.List;
import java.util.ArrayList;

public class Prac {
    public static void main(String[] args) {
        List<String> courseList = new ArrayList<>();
        String course1="웹개발";
        String course2="앱개발";
        courseList.add(course1);
        courseList.add(course2);
        System.out.println(courseList);
        System.out.println(courseList.get(1));
//        courseList.remove(1);
        System.out.println(courseList);
    }
}

 

6. 메소드(c언어에서의 함수와 같은 기능)

 

main함수 안에서 메소드를 써주기 위해서는 public 다음에 static을 붙여줘야 한다. 

 

package com.day1.week01.prac;

import java.sql.SQLOutput;
import java.util.List;
import java.util.ArrayList;

public class Prac {
    // 파라미터 X, 반환값 X
    public static void simplePrint() {
        System.out.println("파라미터도 없고, 반환값도 없어요!");
    }

    // 파라미터 O, 반환값 X
    public static void simpleSum(int num1, int num2) {
        System.out.println("num1 :" + num1 + ", num2: " + num2);
    }

    // 파라미터 X, 반환값 O
    public static int simpleReturn() {
        return 3;
    }

    // 파라미터 O, 반환값 O
    public static int sum(int num1, int num2) {
        return num1 + num2;
    }
    public static void main(String[] args) {
        System.out.println(sum(3,5));
        simpleSum(4,3);
        simplePrint();
    }
}

7. 반복문

 

package com.day1.week01.prac;

import java.sql.SQLOutput;
import java.util.List;
import java.util.ArrayList;

public class Prac {

    public static void main(String[] args) {
        List<String> fruits = new ArrayList<>();
        fruits.add("감");
        fruits.add("배");
        fruits.add("감");
        fruits.add("딸기");
        fruits.add("수박");
        fruits.add("메론");
        fruits.add("수박");
        fruits.add("딸기");
        fruits.add("메론");
        fruits.add("수박");
        fruits.add("메론");
        fruits.add("수박");
        fruits.add("감");
        System.out.println(fruits);

        for (int i=0; i<fruits.size(); i++) {
            System.out.println(fruits.get(i));
        }
// 매번 13개, 14개, 12개.. 개수 세어줘야 할까요?
    }
}

8. 조건문

 

package com.day1.week01.prac;

import java.sql.SQLOutput;
import java.util.List;
import java.util.ArrayList;

public class Prac {

    public static void main(String[] args) {
        int age = 20;
        if (age > 19) {
            System.out.println("성인입니다.");
        } else {
            System.out.println("미성년자입니다.");
        }
// 매번 13개, 14개, 12개.. 개수 세어줘야 할까요?
    }
}

 

9. 과일 갯수 세기

package com.day1.week01.prac;

import java.sql.SQLOutput;
import java.util.List;
import java.util.ArrayList;

public class Prac {
    public static int countFruit(String fruit) {
        List<String> fruits = new ArrayList<>();
        fruits.add("감");
        fruits.add("배");
        fruits.add("감");
        fruits.add("딸기");
        fruits.add("수박");
        fruits.add("메론");
        fruits.add("수박");
        fruits.add("딸기");
        fruits.add("메론");
        fruits.add("수박");
        fruits.add("메론");
        fruits.add("수박");
        fruits.add("감");

        int count=0;
        for(int i=0;i<fruits.size();i++){
         String f=fruits.get(i);

         if(f==fruit){
             count++;}

        }
        return count;
    }

    public static void main(String[] args) {
        int gam=countFruit("감");
        int subak=countFruit("수박");
        System.out.println(subak);
        System.out.println(gam);
    }
}

10. 클래스

 

Course.java

package com.day1.week01.prac;

public class Course {
   
    public String title;
    public String tutor;
    public int days;
}

Prac.java(main 함수가 있는 곳)

package com.day1.week01.prac;

import java.sql.SQLOutput;
import java.util.List;
import java.util.ArrayList;

public class Prac {


    public static void main(String[] args) {
        Course course = new Course();
        course.title = "Rtiz";
        course.tutor="Ritsu";
        System.out.println(course.title);
        System.out.println(course.tutor);

        Course course2=new Course();
        course2.title="Rtiz love";
        course2.tutor="Sena";
        System.out.println(course2.title);
        System.out.println(course2.tutor);
    }
}

11. 생성자

 

클래스 명과 똑같은 이름을 가진 메소드

 

Course.java

package com.day1.week01.prac;

public class Course {
    // title, tutor, days 가 Course 라는 맥락 아래에서 의도가 분명히 드러나죠!
    public String title;
    public String tutor;
    public int days;

    public Course() {
        //생성자는 리턴이 없다. 괄호안에 아무것도 없는 것이 기본 생성자이다.

    }
    public Course(String title,String tutor, int days){
    this.title=title;
    this.tutor=tutor;
    this.days=days;
    }
}

Prac.java(main 함수가 있는 곳)

package com.day1.week01.prac;

import java.sql.SQLOutput;
import java.util.List;
import java.util.ArrayList;

public class Prac {


    public static void main(String[] args) {
       // Course course = new Course();
      //  course.title = "Rtiz";
        //course.tutor="Ritsu";
        int days=35;
        String title="Rtiz";
        String tutor="Ritsu";
        Course course=new Course(title,tutor,35);
        System.out.println(course.title);
        System.out.println(course.tutor);
        System.out.println(course.days);

        int days1=20;
        String title1="Rtiz love";
        String tutor1="Sena";
       // Course course2=new Course();
        //course2.title="Rtiz love";
        //course2.tutor="Sena";
        Course course2=new Course(title1,tutor1,days1);
        System.out.println(course2.title);
        System.out.println(course2.tutor);
        System.out.println(course2.days);
    }
}

 

12. Getter, Setter

 

*Course.java

package com.day1.week01.prac;

public class Course {
    // title, tutor, days 가 Course 라는 맥락 아래에서 의도가 분명히 드러나죠!
    public String title;
    public String tutor;
    public int days;

    public Course() {
        //생성자는 리턴이 없다. 괄호안에 아무것도 없는 것이 기본 생성자이다.

    }
    public Course(String title,String tutor, int days){
    this.title=title;
    this.tutor=tutor;
    this.days=days;
    }

    //Setter: 정보를 바꾸는 메소드
    public void setTitle(String title){
        this.title=title;
    }

    public void setTutor(String tutor){
        this.tutor=tutor;
    }

    public void setDays(int days){
        this.days=days;
    }

    //Getter: 정보를 가져오는 메소드
    public String getTitle(){
        return this.title;

    }

    public String getTutor(){
        return this.tutor;
    }

    public int getDays(){
        return this.days;
    }

}

*Prac.java(Main 함수가 있는 곳)

package com.day1.week01.prac;

import java.sql.SQLOutput;
import java.util.List;
import java.util.ArrayList;

public class Prac {


    public static void main(String[] args) {

      //  course.title = "Rtiz";
        //course.tutor="Ritsu";
        int days=35;
        String title="Rtiz";
        String tutor="Ritsu";
        Course course=new Course();
        course.setTitle(title);
        course.setTutor(tutor);
        course.setDays(days);
        System.out.println(course.getTitle());
        System.out.println(course.getTutor());
        System.out.println(course.getDays());

        int days1=20;
        String title1="Rtiz love";
        String tutor1="Sena";
       // Course course2=new Course();
        //course2.title="Rtiz love";
        //course2.tutor="Sena";
        Course course2=new Course(title1,tutor1,days1);
        System.out.println(course2.title);
        System.out.println(course2.tutor);
        System.out.println(course2.days);
    }
}

 

*Tutor.java

package com.day1.week01.prac;

public class Tutor {
    private String name;
    public int bio;
    //퍼블릭으로 생성


    public Tutor() {
        //기본 생성자
    }
    
    public Tutor(String name, int bio){
        this.name=name;
        this.bio=bio;
    }
    //Setter
    public void setName(String name) {
        this.name = name;

    }

    public void setBio(int bio) {
        this.bio = bio;
    }

    //Getter
    public String getName(){
        return this.name;
    }
    public int getBio(){
        return this.bio;
    }
}

 

13. 브라우저에 나타내보기

 

Rest: 서버의 응답이 JSON 데이터 구조임을 나타내는 것

       HTML, CSS등을 주고 받을 때에는 Rest를 사용하지 않는다.

 

Controller: 자동 응답기 기능. 클라이언트의 요청을 전달받는 코드

 

intellj에 controller 패키지 추가

CourseController.java 추가

 

package com.day1.week01.controller;

import com.day1.week01.prac.Course;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class CourseController {

    @GetMapping("/courses")
    public Course getCourses() {
        Course course = new Course();
        course.setTitle("Rtiz");
        course.setDays(922);
        course.setTutor("Sakuma Ritsu&SenaIzumi");
        return course;
    }
}

http://localhost:8080/courses

 

14. Person 클래스 새로 생성

 

*PersonController.java

package com.example.demo.controller;

import com.example.demo.prac.Person;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class PersonController {
    @GetMapping("/myinfo")
    public Person getPersons(){
        Person person=new Person();
        person.setName("YuDay");
        person.setAge(23);
        person.setAddress("Daegu-Dalseogu");
        return person;
    }
}

*Person.java

 

package com.example.demo.prac;

public class Person {
    private String name;
    private int age;
    private String address;

    public Person(){
        //기본 생성자
    }
    public Person(String name, int age, String address){
        this.name=name;
        this.age=age;
        this.address=address;
    }
    //Getter
    public String getName(){
        return this.name;
    }
    public String getAddress(){
        return this.address;
    }
    public int getAge(){
        return this.age;
    }

    //Setter
    public void setName(String name){
        this.name=name;
    }
    public void setAddress(String address){
        this.address=address;
    }
    public void setAge(int age){
        this.age=age;
    }
}

http://localhost:8080/myinfo

 

'스프링' 카테고리의 다른 글

Web server failed to start. Port 8080 was already in use.  (0) 2022.05.16
5주차-완성: 익명 타임라인 페이지  (0) 2021.08.03
4주차  (0) 2021.07.31
스프링 3주차  (0) 2021.07.20
2주차- API  (0) 2021.07.13

댓글