Java 초기 문자열 및 연산자

1.스팅

Java에서는 데이터 유형을 기본 데이터 유형과 참조 데이터 유형으로 구분합니다. 기본 데이터 유형은 4가지 유형(예: 정수, 부동 소수점, 문자, 부울), 8가지 유형(예: byte, short, int, long, float, double)입니다. 참조 데이터 유형에는 Sting, 패키징 클래스(Byte, Short, Integer, Long, Float, Double, Character) 등이 포함됩니다.

public class String1 {
    public static void main(String[]args){
        String a="hello";
        String b="World";
        System.out.println(a);
        System.out.println(b);
        System.out.println(a+b);//‘+’表示字符穿的拼接
    }
}

 +에 대해 나는 다음과 같이 이해하고 있습니다.

1. 문자열에 +를 추가하지 않은 경우 +는 일반 추가와 동일합니다.

public class String1 {
    public static void main(String[]args){
        int a=10;
        int b=20;
        System.out.println("int类型数的相加:"+(a+b));
        float c=0.2F;
        float d=0.2F;
        System.out.println("float类型数据的相加:"+(c+d));
        byte e=10;
        byte f=20;
        System.out.println("byte类型数据的相加:"+(e+f));
        short g=10;
        short h=90;
        System.out.println("short类型数据的相加:"+(g+h));
        long i=10L;
        long j=20L;
        System.out.println("long类型的数据相加:"+(i+j));
        double k=10.0;
        double m=20.0;
        System.out.println("double类型数据相加:"+(k+m));
        char A='A';
        char B='B';
        System.out.println("char类型数据相加:"+(A+B));
    }
}

작업 결과는 다음과 같습니다.

 2. 일반 데이터형의 숫자에 +와 문자열을 더하면 그 결과는 문자열이 된다. 계산은 왼쪽에서 오른쪽으로 수행됩니다.

public class String1 {
    public static void main(String[]args){
        int a=10;
        int b=20;
        String s="hello";
        System.out.println(a+b+s);
        System.out.println(s+a+b);
        System.out.println(s+b+a);
        System.out.println(s+(a+b));
    }
}

 작업 결과는 다음과 같습니다.

 어떤 경우에는 문자열과 정수 사이의 변환이 필요합니다:

1. int를 문자열로 변환

public class String1 {
    public static void main(String[]args){
        int a=1234567890;
        String s=String.valueOf(a);
        System.out.println(s);
    }
}

 문자열의 valueOf:

2. 문자열을 int로 변환

public class String1 {
    public static void main(String[]args){
        String s="12345";
        int a=Integer.valueOf(s );
        System.out.println(a+30);
    }
}

 int 래퍼 클래스의 valueOf:

 2.운영자

1. 연산자란 무엇인가요?

연산자는 피연산자에 대해 연산을 수행하는 데 사용되는 기호입니다. 연산마다 의미가 다릅니다. '

컴퓨터 언어로서 Java는 변수를 조작할 수 있는 풍부한 연산자 세트도 제공합니다. Java의 연산자는 산술 연산자(+ - */), 관계 연산자(< > ==), 논리 연산자, 비트 연산자, 시프트 연산자, 조건 연산자 등으로 나눌 수 있습니다.

2. 산술 연산자

1. 네 가지 기본 산술 연산자: 덧셈, 뺄셈, 곱셈, 나눗셈 모듈로(+-*/%)

public class String1 {
    public static void main(String[]args){
        int a=10;
        int b=20;
        System.out.println("a+b="+(a+b));
        System.out.println("a-b="+(a-b));
        System.out.println("a*b="+(a*b));
        System.out.println("a/b="+(a/b));
        System.out.println("a%b="+(a%b));
    }
}

작업 결과는 다음과 같습니다. 

 알아채다:

*는 모두 이항 연산자로, 사용할 때 왼쪽과 오른쪽에 두 개의 피연산자가 있어야 합니다.

*int / int 결과는 여전히 int 유형이며 반내림됩니다.

*나눗셈과 모듈로를 수행할 때 제수는 0이 될 수 없습니다.

*% 정수를 모듈로 할 수 있을 뿐만 아니라 부동 소수점 유형을 모듈로 할 수도 있습니다.

*양쪽의 피연산자 유형이 일치하지 않는 경우 더 큰 유형 범위로 승격하세요.

2. 증분 연산자 *= -= /= += %= 

 

public class String1 {
    public static void main(String[] args) {
        int a = 10;
        a += 10;//相当于a=a+10
        System.out.println(a);
        int s=10;
        s-=10;//相当于s=s-10;
        System.out.println(s);
        int d=10;
        d*=10;//相当于d=d*10
        System.out.println(d);
        int k=10;
        k/=10;//相当于k=k/10
        System.out.println(k);
        int g=10;
        g%=3;//相当于g=g%3
        System.out.println(g);
    }
}

실행 결과: 

 참고: 이 연산자는 상수가 아닌 변수에만 사용할 수 있습니다.

3.증감 연산자++ --

++는 변수 값에 +1을 더하는 것이고 --는 변수 값에 -1을 더하는 것입니다.

알아채다: 

*단독으로 사용할 경우 [prefix++]와 [post++]의 차이는 없습니다.

*조합하여 사용할 경우 [prefix++] 먼저 +1한 후 변수 +1 뒤의 값 사용, [postfix++] 먼저 변수의 원래 값 사용, 표현식 끝의 변수에 +1

*증감 연산자는 변수만 사용할 수 있으며, 상수는 수정할 수 없으므로 사용할 수 없습니다.

4. 논리 연산자 

세 가지 주요 논리 연산자가 있습니다: && || ! , 작업 결과는 모두 부울 유형입니다.

public class String1 {
    public static void main(String[] args) {
        
        System.out.println("&&的逻辑表达式展示");
    System.out.println(true&&true);
    System.out.println(true&&false);
    System.out.println(false&&false);
    System.out.println(false&&true);
    System.out.println("**********************************************");
    System.out.println("||的逻辑表达式的展示");
   System.out.println(true||true);
   System.out.println(false||true);
   System.out.println(false||false);
   System.out.println(true||false);
   System.out.println("*************************************************");
   System.out.println("!的逻辑表达式展示:");
   System.out.println(!true);
   System.out.println(!false);
   System.out.println("****************************************************");
    }
}

 결과 표시:

 알아채다: 

*&&의 경우 왼쪽 수식의 값이 거짓이면 그 수식의 결과도 거짓이어야 하며, 오른쪽 수식을 계산할 필요가 없습니다.

*||의 경우 왼쪽 수식의 값이 참이면 그 수식의 결과도 참이어야 하며, 오른쪽 수식은 계산할 필요가 없습니다.

*||,&&왼쪽 표현식과 오른쪽 표현식은 부울 표현식이어야 합니다.

*& 및 |도 표현식 결과가 부울인 경우 논리 연산을 나타내지만 && ||와 비교하여 단락 평가를 지원하지 않습니다.

5. 비트 연산자 

 Java에서 데이터 저장의 최소 단위는 바이트이고 데이터 연산의 최소 단위는 비트입니다.바이트는 저장의 최소 단위로 각 바이트는 8개의 바이너리 비트로 구성되며 여러 바이트가 함께 결합되어 다양한 다른 표현을 나타낼 수 있습니다. 데이터.

4개의 주요 비트 연산자가 있습니다: & | ~ ^. 단항 연산자인 ~를 제외한 나머지는 이항 연산자입니다. 

비트 연산은 이진 비트 기반의 연산을 나타내며, 컴퓨터는 이진을 사용하여 데이터(01로 구성된 시퀀스)를 표현하고, 이진 비트의 각 비트에 대해 비트 연산이 순차적으로 수행됩니다. 

1. 비트별 AND: 두 이진수 비트가 모두 1이면 결과는 1이고, 그렇지 않으면 결과는 0입니다.

public class String1 {
    public static void main(String[] args) {

        int a=10;
        int b=20;
        System.out.println(a&b);
    }
}

비트 연산을 수행하려면 먼저 10과 20을 이진수(각각 1010과 10100)로 변환해야 합니다.

 2. 비트별 OR |: 두 이진수 비트가 모두 0이면 결과는 0이고, 그렇지 않으면 결과는 1입니다.

public class String1 {
    public static void main(String[] args) {

        int a=10;
        int b=20;
        System.out.println(a|b);
    }
}

조작방법은 위치결정과 유사합니다.

참고: & 및 |의 피연산자가 정수(int, short, long, byte)인 경우 비트 연산을 나타내고, 피연산자가 부울인 경우 논리 연산을 나타냅니다.

 3. 비트 부정(Bitwise Negation)~: 비트가 0이면 1로 변환하고, 비트가 1이면 0으로 변환합니다.

public class String1 {
    public static void main(String[] args) {

        int a=0xf;
        System.out.printf("%x\n",~a);
    }
}

알아채다:

*0x로 시작하는 숫자는 16진수 숫자이며, 16진수는 2진수를 단순화한 표현이라고 볼 수 있습니다.

숫자는 4개의 이진수에 해당합니다.
*0xf는 10진수로 15를 의미하며 이는 이진수로 1111입니다.
*printf는 출력 내용의 형식을 지정할 수 있고 %x는 16진수로 출력을 의미합니다.
*\n은 개행 문자를 의미합니다.

4. 비트별 XOR^: 두 숫자의 이진수가 같으면 0, 다르면 1

public class String1 {
    public static void main(String[] args) {

        int a=0x1;
        int b=0x2;
        System.out.println(a^b);
    }
}

참고: 두 숫자가 동일하면 XOR 결과는 0입니다.

6. 교대운전

1. Shift left<<: 가장 왼쪽 비트는 필요하지 않으며, 가장 오른쪽 비트는 0으로 채워집니다.

2. 오른쪽으로 이동 >>: 가장 오른쪽 비트는 생략하고 가장 왼쪽 비트에 부호 비트를 추가합니다. (양수는 0으로 채워지고, 음수는 1로 채워집니다.)

3. 부호 없는 오른쪽 시프트 >>>: 가장 오른쪽 비트를 생략하고, 가장 왼쪽 비트를 0으로 채웁니다. 

알아채다:

1. 1비트 왼쪽으로 이동(원래 숫자와 동일) * 2. N 비트만큼 왼쪽으로 이동(원래 숫자와 동일) * 2의 N 거듭제곱 증가
2. 1비트 오른쪽으로 이동(원래 숫자와 동일) / 2. N 비트만큼 오른쪽으로 이동합니다. 원래 숫자 / 2의 N승에 해당합니다.
3. 컴퓨터는 곱셈과 나눗셈을 계산하는 것보다 이동을 계산하는 데 더 효율적이므로 특정 코드에서 우연히 2의 N승을 곱하고 나누는 경우 시프트가 수행됩니다. 연산을 대신 사용할 수 있습니다.
4. 음수 비트를 이동하거나 비트 수를 이동합니다. 너무 크면 의미가 없습니다.

7. 조건부 연산자

조건 연산자는 하나만 있습니다: 수식 1 ? 수식 2 : 수식 3
수식 1의 값이 true인 경우 전체 수식의 값은 수식 2의 값이 되고, 수식
1의 값이 false인 경우 전체 수식의 값이 됩니다. 표현식의 값은 표현식 3의 값입니다. 

추천

출처blog.csdn.net/qq_71356343/article/details/128748864