2013-02-03 4 views
0

String 개체를 Java의 .print() 문 안에 선언 할 수 있습니까? 예 :메서드 인수 내에서 변수 선언

System.out.println(String str = "phew"); 

이것은 작동하지 않습니다. 그래서, 그것은 그것이 "불법"이라는 것을 의미합니까? 가능하다면 어떻게해야합니까? 사실 불법 인 경우 왜 불법입니까? 당신이 정확히 무엇인지 말할 수있는,

+1

달성하려는 목표는 무엇입니까? (그리고 'new'라는 변수를 선언하지 마십시오; Java 예약어입니다.) –

+0

아니, 왜? 그것은 언어가 작동하는 방식이 아니라, 범위 때문에 그러한 일을하는 것이 완전히 쓸모 없다는 사실을 무시한다는 것입니다. –

+0

실제로 달성하려는 것은 무엇입니까? –

답변

4

당신은 변수를 선언 할 수 있지만 을 정의 할 수 있습니다

String a; // declaration 
System.out.println(a = "abc"); // allowed, defining and passing it as argument 

System.out.println(String a = "abc"); // illegal 
+0

감사 이것은 받아 들일 수 있는지 여부와 상관없이 내가 알고 싶었던 전부입니다. – user2018384

1

난 당신이

System.out.println(new String("new")); 

을 의미 의심하지만 이것보다 더 많은 일을하고 싶다면 당신은

System.out.println("new"); 

을 할 수 있습니까?

0

을 당신이에 println 내부에 변수를 할당 할 수 있지만 그 안에 변수를 선언 할 수 없습니다.

String str; 
System.out.println(str=new String("str")); // will work 

할당 연산자는

을 할당하는 일을 ... 반환

System.out.println(String Phew="phew"); // will not work 
+0

System.out.println (str = new String ("str")); 이런 식의 코드가 있습니까? – Dipak

+0

정의는 실제 값을 의미합니다. 그것을 선언하지 말라. – Mordechai

+0

예 :) thanks @MouseEvent –

0

당신은 다음과 같이 시도 할 수

문자열의; System.out.println (s = "My name is Dipak");

하지만 난 당신이 이런 식으로 뭔가를 구현하는 알고리즘의 종류 이해가 안 돼요. :) 각 문장에 차단기가 필요하면 정확히 선언문 변수가 필요합니다. 할당 이외의 다른 연산에 사용되기 전에 말입니다.

희망은 평화를 줄 것입니다.

관련 문제