What happens when you use arithmetic operators inside of a string declaration?
.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty{ height:90px;width:728px;box-sizing:border-box;
}
If there is an arithmetic operator inside of a string declaration, how does the String treat the operator?
For example in this case:
String s = "de32";
s = s.charAt(0) * 2 + "";
System.out.println(s);
String s is not dd
but instead is 102
. What is the * 2
mean for the string?
java string math
add a comment |
If there is an arithmetic operator inside of a string declaration, how does the String treat the operator?
For example in this case:
String s = "de32";
s = s.charAt(0) * 2 + "";
System.out.println(s);
String s is not dd
but instead is 102
. What is the * 2
mean for the string?
java string math
add a comment |
If there is an arithmetic operator inside of a string declaration, how does the String treat the operator?
For example in this case:
String s = "de32";
s = s.charAt(0) * 2 + "";
System.out.println(s);
String s is not dd
but instead is 102
. What is the * 2
mean for the string?
java string math
If there is an arithmetic operator inside of a string declaration, how does the String treat the operator?
For example in this case:
String s = "de32";
s = s.charAt(0) * 2 + "";
System.out.println(s);
String s is not dd
but instead is 102
. What is the * 2
mean for the string?
java string math
java string math
edited Jan 3 at 7:33
Shababb Karim
720924
720924
asked Jan 3 at 6:17
user10860991user10860991
162
162
add a comment |
add a comment |
2 Answers
2
active
oldest
votes
s.charAt(0)
is a char
('d'), and char
is a numeric type. The numeric value of the character 'd'
is 100
. Therefore s.charAt(0) * 2
simply multiplies that value by 2
, which results in 200
(not 102
as you wrote).
Then the result is converted to a String
, since you appended to it an empty String
, so s
is assigned "200"
.
The expression is evaluated left to right, so it is equivalent to:
s = (s.charAt(0) * 2) + "";
- First the
char
'd' is promoted to anint
and multiplied by2
. - Then the resulting
int
(200) is appended to the emptyString
"". resulting in theString
"200".
1
@AndyTurner sure
– Eran
Jan 3 at 6:34
add a comment |
At 0 position char d is there and it is multiplied with 2. So ASCII value of d is multiplied by 2. Since ASCII value of d is 100 so it gives result 200. Then it is appended to empty string and give "200" as a string .
add a comment |
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f54017204%2fwhat-happens-when-you-use-arithmetic-operators-inside-of-a-string-declaration%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
2 Answers
2
active
oldest
votes
2 Answers
2
active
oldest
votes
active
oldest
votes
active
oldest
votes
s.charAt(0)
is a char
('d'), and char
is a numeric type. The numeric value of the character 'd'
is 100
. Therefore s.charAt(0) * 2
simply multiplies that value by 2
, which results in 200
(not 102
as you wrote).
Then the result is converted to a String
, since you appended to it an empty String
, so s
is assigned "200"
.
The expression is evaluated left to right, so it is equivalent to:
s = (s.charAt(0) * 2) + "";
- First the
char
'd' is promoted to anint
and multiplied by2
. - Then the resulting
int
(200) is appended to the emptyString
"". resulting in theString
"200".
1
@AndyTurner sure
– Eran
Jan 3 at 6:34
add a comment |
s.charAt(0)
is a char
('d'), and char
is a numeric type. The numeric value of the character 'd'
is 100
. Therefore s.charAt(0) * 2
simply multiplies that value by 2
, which results in 200
(not 102
as you wrote).
Then the result is converted to a String
, since you appended to it an empty String
, so s
is assigned "200"
.
The expression is evaluated left to right, so it is equivalent to:
s = (s.charAt(0) * 2) + "";
- First the
char
'd' is promoted to anint
and multiplied by2
. - Then the resulting
int
(200) is appended to the emptyString
"". resulting in theString
"200".
1
@AndyTurner sure
– Eran
Jan 3 at 6:34
add a comment |
s.charAt(0)
is a char
('d'), and char
is a numeric type. The numeric value of the character 'd'
is 100
. Therefore s.charAt(0) * 2
simply multiplies that value by 2
, which results in 200
(not 102
as you wrote).
Then the result is converted to a String
, since you appended to it an empty String
, so s
is assigned "200"
.
The expression is evaluated left to right, so it is equivalent to:
s = (s.charAt(0) * 2) + "";
- First the
char
'd' is promoted to anint
and multiplied by2
. - Then the resulting
int
(200) is appended to the emptyString
"". resulting in theString
"200".
s.charAt(0)
is a char
('d'), and char
is a numeric type. The numeric value of the character 'd'
is 100
. Therefore s.charAt(0) * 2
simply multiplies that value by 2
, which results in 200
(not 102
as you wrote).
Then the result is converted to a String
, since you appended to it an empty String
, so s
is assigned "200"
.
The expression is evaluated left to right, so it is equivalent to:
s = (s.charAt(0) * 2) + "";
- First the
char
'd' is promoted to anint
and multiplied by2
. - Then the resulting
int
(200) is appended to the emptyString
"". resulting in theString
"200".
edited Jan 3 at 6:34
answered Jan 3 at 6:19


EranEran
292k37481564
292k37481564
1
@AndyTurner sure
– Eran
Jan 3 at 6:34
add a comment |
1
@AndyTurner sure
– Eran
Jan 3 at 6:34
1
1
@AndyTurner sure
– Eran
Jan 3 at 6:34
@AndyTurner sure
– Eran
Jan 3 at 6:34
add a comment |
At 0 position char d is there and it is multiplied with 2. So ASCII value of d is multiplied by 2. Since ASCII value of d is 100 so it gives result 200. Then it is appended to empty string and give "200" as a string .
add a comment |
At 0 position char d is there and it is multiplied with 2. So ASCII value of d is multiplied by 2. Since ASCII value of d is 100 so it gives result 200. Then it is appended to empty string and give "200" as a string .
add a comment |
At 0 position char d is there and it is multiplied with 2. So ASCII value of d is multiplied by 2. Since ASCII value of d is 100 so it gives result 200. Then it is appended to empty string and give "200" as a string .
At 0 position char d is there and it is multiplied with 2. So ASCII value of d is multiplied by 2. Since ASCII value of d is 100 so it gives result 200. Then it is appended to empty string and give "200" as a string .
answered Jan 3 at 6:38
praneet droliapraneet drolia
2491314
2491314
add a comment |
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f54017204%2fwhat-happens-when-you-use-arithmetic-operators-inside-of-a-string-declaration%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown