[Java 기초문법] by Professional Java Developer Career Starter: Java Foundations @ Udemy
Creating Strings
스트링을 만드는 방법
public class LearnStrings {
public static void main(String[] args) {
String fruit = "apple";
String vegetable = new String("broccoli");
}
}
첫번째 = asks the os to give it some memory of this string. 메모리를 할당시킴
storing a reference.
스트링 literal이라고 하는 이것을 입력하면 자바는 all the string liberal을 검색한다. 만약 같은 게 있으면 address를 리턴해서 같이 저장하는 방식 (liberal은 operator 방식이 아닌 것)
따라서 사실상 같은 주소로 저장
2번째 = 같은 str이라도 another space를 할당한다 = a new address in memory.
따라서 fruit , anotherFruit 은 pointing the same address
2번째 것은 different
검증하는 방법
Upper and Lower Casing
사용가능한 함수 보는 단축키 ctrl+space
자바의 경우 Unicode를 Full 지원한다.
움라웃U 같은 것들을 쓰려면 locale 변수를 통해 region을 정해줄 수 있다.
Strings : Blank or Empty ?
isEmpty =
// if the length of the string is zero
isBlank =
// if string actually contains something
length를 검색하거나 할 때 실제로 있는지를 찾으려면 isBlank를 쓰는 것이 더 사용 용도에 맞다
Replacing String
String myText ="here's my awesome firf text";
System.out.println(myText.replace("firf","nice"));
firf를 nice로 replace한다
이때 위치나 개수는 상관없지만 대소문자는 구분한다
그런데 relace 함수도 다른 버전이 있을 수 있다.
Strip()
스페이스를 지운다
public class LearnStrings {
public static void main(String[] args) {
String firstName = " Jake ";
System.out.format("'%s'", firstName.strip());
}
}
strip에 다양한 변형이 있다.
leading이나 trailing을 쓰면 앞이나 뒤만 지워짐
stripIndent()는
자바에서 multi line을 쓸때 indent를 지워주는 것인데 IDE에서 이미 지워줘서 기능을 보여줄 수 없다
선으로 이미 맞춰주고 있음
strip의 기능을 메소드로 구현해보면
replace를 쓰고 지울것과 빈칸을 넣는 것과 마찬가지이다.
같은 결과 리턴
charAt()
string의 위치를 찾아준다
public class LearnStrings {
public static void main(String[] args) {
String myText ="Apples";
System.out.println(myText.charAt(3));
}
}
리턴 l
compareTo()
비교해서 숫자를 리턴한다
-1 리턴
이때 로직은 alphabetical order for latin word = 아스키코드로 반환해서 차이를 비교하여 리턴
같을 경우는 0을 리턴한다
15를 리턴하는데 이때 aaple보다 Aardvark가 더 뒤에 나오는 알파벳 오더를 갖기 때문에 양수를 리턴
그렇다면 Aaple과 aaple은 ?
함수명을 ignore로 바꿔주면 0으로 다시 리턴
영어 말고 다른 언어도 비교한다.
public class LearnStrings {
public static void main(String[] args) {
String firstword = "가나";
String secondword = "나가";
System.out.println(firstword.compareTo(secondword));
}
}
만약
public class LearnStrings {
public static void main(String[] args) {
String firstword = "가나";
String secondword = "가";
System.out.println(firstword.compareTo(secondword));
}
}
두개를 비교한다면
second word가 알파벳 순서에서 가 다음에 바로 오기 때문에 1을 리턴한다
contains()
리턴 whether or not string contains input
public class LearnStrings {
public static void main(String[] args) {
String myText = "Four score and seven years ago";
System.out.println(myText.contains("seven"));
}
}
true를 리턴
정확히 일치해야 true를 리턴한다