if (condition || condition) vs if (condition) if (condition)
.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty{ height:90px;width:728px;box-sizing:border-box;
}
I just started the project Euler and I already have some problems.
why do these methods produce different results?
int sum=0;
for (int i=0;i<n;i++)
{
if(i%3==0 || i%5==0)
sum+=i;
}
vs
int sum=0;
for (int i=0;i<n;i++)
{
if(i%3==0)
sum+=i;
if (i%5==0)
sum+=i;
}
java if-statement
add a comment |
I just started the project Euler and I already have some problems.
why do these methods produce different results?
int sum=0;
for (int i=0;i<n;i++)
{
if(i%3==0 || i%5==0)
sum+=i;
}
vs
int sum=0;
for (int i=0;i<n;i++)
{
if(i%3==0)
sum+=i;
if (i%5==0)
sum+=i;
}
java if-statement
5
What ifi
is divisible by both 3 and 5? What does your second code do?
– tkausl
Nov 25 '18 at 1:23
2
What happens when i is 15?
– Cup of Java
Nov 25 '18 at 1:25
4
Might be a good time to learn to debug ericlippert.com/2014/03/05/how-to-debug-small-programs
– cricket_007
Nov 25 '18 at 1:25
add a comment |
I just started the project Euler and I already have some problems.
why do these methods produce different results?
int sum=0;
for (int i=0;i<n;i++)
{
if(i%3==0 || i%5==0)
sum+=i;
}
vs
int sum=0;
for (int i=0;i<n;i++)
{
if(i%3==0)
sum+=i;
if (i%5==0)
sum+=i;
}
java if-statement
I just started the project Euler and I already have some problems.
why do these methods produce different results?
int sum=0;
for (int i=0;i<n;i++)
{
if(i%3==0 || i%5==0)
sum+=i;
}
vs
int sum=0;
for (int i=0;i<n;i++)
{
if(i%3==0)
sum+=i;
if (i%5==0)
sum+=i;
}
java if-statement
java if-statement
asked Nov 25 '18 at 1:21
R.PodarR.Podar
337
337
5
What ifi
is divisible by both 3 and 5? What does your second code do?
– tkausl
Nov 25 '18 at 1:23
2
What happens when i is 15?
– Cup of Java
Nov 25 '18 at 1:25
4
Might be a good time to learn to debug ericlippert.com/2014/03/05/how-to-debug-small-programs
– cricket_007
Nov 25 '18 at 1:25
add a comment |
5
What ifi
is divisible by both 3 and 5? What does your second code do?
– tkausl
Nov 25 '18 at 1:23
2
What happens when i is 15?
– Cup of Java
Nov 25 '18 at 1:25
4
Might be a good time to learn to debug ericlippert.com/2014/03/05/how-to-debug-small-programs
– cricket_007
Nov 25 '18 at 1:25
5
5
What if
i
is divisible by both 3 and 5? What does your second code do?– tkausl
Nov 25 '18 at 1:23
What if
i
is divisible by both 3 and 5? What does your second code do?– tkausl
Nov 25 '18 at 1:23
2
2
What happens when i is 15?
– Cup of Java
Nov 25 '18 at 1:25
What happens when i is 15?
– Cup of Java
Nov 25 '18 at 1:25
4
4
Might be a good time to learn to debug ericlippert.com/2014/03/05/how-to-debug-small-programs
– cricket_007
Nov 25 '18 at 1:25
Might be a good time to learn to debug ericlippert.com/2014/03/05/how-to-debug-small-programs
– cricket_007
Nov 25 '18 at 1:25
add a comment |
2 Answers
2
active
oldest
votes
The first one will look if it is either i%3 or i%5.
Even if both are true, it only executes it once.
The seconde one, will execute sum+=i twice, if both are true:
30%3 = 0 and 30%5 = 0
So both of these will be executed:
if(i%3==0)
sum+=i;
if (i%5==0)
add a comment |
In the first, it is sufficient that any of the comparisons be true to execute the sentence. If the first comparison is true, the second comparison will no longer be made. This is because True or [boolean] is always true. That is, it is enough that in the sequence of comparisons joined by or there is a true one, then the result will always be true.
In the second, the two conditions are always evaluated. And depending on those evaluations the sentences will be executed or not.
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%2f53463894%2fif-condition-condition-vs-if-condition-if-condition%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
The first one will look if it is either i%3 or i%5.
Even if both are true, it only executes it once.
The seconde one, will execute sum+=i twice, if both are true:
30%3 = 0 and 30%5 = 0
So both of these will be executed:
if(i%3==0)
sum+=i;
if (i%5==0)
add a comment |
The first one will look if it is either i%3 or i%5.
Even if both are true, it only executes it once.
The seconde one, will execute sum+=i twice, if both are true:
30%3 = 0 and 30%5 = 0
So both of these will be executed:
if(i%3==0)
sum+=i;
if (i%5==0)
add a comment |
The first one will look if it is either i%3 or i%5.
Even if both are true, it only executes it once.
The seconde one, will execute sum+=i twice, if both are true:
30%3 = 0 and 30%5 = 0
So both of these will be executed:
if(i%3==0)
sum+=i;
if (i%5==0)
The first one will look if it is either i%3 or i%5.
Even if both are true, it only executes it once.
The seconde one, will execute sum+=i twice, if both are true:
30%3 = 0 and 30%5 = 0
So both of these will be executed:
if(i%3==0)
sum+=i;
if (i%5==0)
answered Nov 25 '18 at 1:24
Timothy Lukas H.Timothy Lukas H.
286313
286313
add a comment |
add a comment |
In the first, it is sufficient that any of the comparisons be true to execute the sentence. If the first comparison is true, the second comparison will no longer be made. This is because True or [boolean] is always true. That is, it is enough that in the sequence of comparisons joined by or there is a true one, then the result will always be true.
In the second, the two conditions are always evaluated. And depending on those evaluations the sentences will be executed or not.
add a comment |
In the first, it is sufficient that any of the comparisons be true to execute the sentence. If the first comparison is true, the second comparison will no longer be made. This is because True or [boolean] is always true. That is, it is enough that in the sequence of comparisons joined by or there is a true one, then the result will always be true.
In the second, the two conditions are always evaluated. And depending on those evaluations the sentences will be executed or not.
add a comment |
In the first, it is sufficient that any of the comparisons be true to execute the sentence. If the first comparison is true, the second comparison will no longer be made. This is because True or [boolean] is always true. That is, it is enough that in the sequence of comparisons joined by or there is a true one, then the result will always be true.
In the second, the two conditions are always evaluated. And depending on those evaluations the sentences will be executed or not.
In the first, it is sufficient that any of the comparisons be true to execute the sentence. If the first comparison is true, the second comparison will no longer be made. This is because True or [boolean] is always true. That is, it is enough that in the sequence of comparisons joined by or there is a true one, then the result will always be true.
In the second, the two conditions are always evaluated. And depending on those evaluations the sentences will be executed or not.
answered Nov 25 '18 at 2:37
Luis Ivan Mera DávilaLuis Ivan Mera Dávila
1816
1816
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%2f53463894%2fif-condition-condition-vs-if-condition-if-condition%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
5
What if
i
is divisible by both 3 and 5? What does your second code do?– tkausl
Nov 25 '18 at 1:23
2
What happens when i is 15?
– Cup of Java
Nov 25 '18 at 1:25
4
Might be a good time to learn to debug ericlippert.com/2014/03/05/how-to-debug-small-programs
– cricket_007
Nov 25 '18 at 1:25